Commit Graph

2077 Commits (6c448094880bf2fc53f14606de64d812eb37cfa3)

Author SHA1 Message Date
Johnny Lim de01e7aad4 Polish
See gh-13243
7 years ago
Stephane Nicoll f91b53747a Merge branch '2.0.x' 7 years ago
Johnny Lim f385a1cb11 Polish
Closes gh-13243
7 years ago
Phillip Webb 3702da4573 Formatting 7 years ago
Phillip Webb 2215709165 Merge branch '2.0.x' 7 years ago
Phillip Webb 9fd3b9103a Format code 7 years ago
Madhura Bhave 940c3d1b75 Merge branch '2.0.x' 7 years ago
Madhura Bhave 552878c431 Fix javadoc 7 years ago
Stephane Nicoll 4464a5f5bd Remove code deprecated in 2.0
Closes gh-12962
7 years ago
Phillip Webb c5f63c19a4 Merge branch '2.0.x' 7 years ago
Phillip Webb 2dc4f1df00 Polish 7 years ago
Stephane Nicoll 27c60e3deb Merge branch '2.0.x' 7 years ago
Stephane Nicoll 48cf025093 Polish 7 years ago
Stephane Nicoll d35d221b5c Merge branch '2.0.x' 7 years ago
Stephane Nicoll 6893be5479 Make sure that RabbitMQ metrics are configured early
The ConnectionFactory can be used early in user configuration to
configure an `Exchange`. Such connection may not hold the proper
MetricCollector and can be cached, leading to missed metrics
information.

This commit moves the configuration of RabbitMQ metrics to a
BeanPostProcessor so that the proper MetricCollector is configured
before any connection is created.

Closes gh-12855
7 years ago
Stephane Nicoll b51b997b70 Run specific health check
This commit improves the `health` endpoint to run health check for a
particular component or, if that component is itself a composite, an
instance of that component.

Concretely, it is now possible to issue a `GET` on
`/actuator/health/{component}` and
`/actuator/health/{component}/instance` to retrieve the health of a
component or an instance of a composite component, respectively.

If details cannot be showed for the current user, any request leads to a
404 and does not invoke the health check at all.

Closes gh-8865
7 years ago
Stephane Nicoll 2c176a3770 Add support for ReactiveHealthIndicatorRegistry
This commit updates the initial proposal to add support for reactive
use cases as well. A reactive application can use
ReactiveHealthIndicatorRegistry as an alternative to
HealthIndicatorRegistry.

Closes gh-4965
7 years ago
Stephane Nicoll 95b251590e Polish "Introduce HealthIndicatorRegistry"
See gh-4965

Co-authored-by: Andy Wilkinson <awilkinson@pivotal.io>
7 years ago
Vedran Pavic d829d522be Introduce HealthIndicatorRegistry
This commit introduces HealthIndicatorRegistry which handles
registration of HealthIndicator instances. Registering new
HealthIndicator instances is now possible in runtime.

See gh-4965
7 years ago
Stephane Nicoll 602f52fffc Add support for configuring common tags declaratively
Closes gh-12933
7 years ago
Vedran Pavic f81f50c119 Improve LDAP auto-configuration
Auto-configuration of LDAP's `LdapTemplate` is currently a part of
`LdapDataAutoConfiguration` which is conditional of presence of
`LdapRepository` (i.e. Spring Data LDAP). This arrangement isn't ideal
since the `LdapTemplate` is a part of Spring LDAP project, and therefore
should not be tied to Spring Data LDAP.

This commit improves and simplifies LDAP auto-configuration by moving
`LdapTemplate` configuration to `LdapAutoConfiguration`. Consequently,
`LdapDataAutoConfiguration` is not needed anymore and is removed.

See gh-13136
7 years ago
Andy Wilkinson a325b13d05 Polish "Auto-configure a ResourceConfig for Jersey endpoints if needed"
Closes gh-11948
7 years ago
Michael J. Simons bb2864ad02 Auto-configure a ResourceConfig for Jersey endpoints if needed
See gh-11948
7 years ago
Madhura Bhave ea99d8cab0 Merge branch '2.0.x' 7 years ago
Madhura Bhave 05cf8229d9 Fix tests 7 years ago
Madhura Bhave 36c89e2383 Merge branch '2.0.x' 7 years ago
Madhura Bhave c937bb68a0 ServletEndpoints should take servletPath into account
Fixes gh-13106
7 years ago
Madhura Bhave 36c7602f2a Merge branch '2.0.x' 7 years ago
Madhura Bhave 4ec87956f9 Fix EndpointRequest include/exclude for ServletEndpoints
Fixes gh-13089
7 years ago
Stephane Nicoll c72df104d8 Improve caches endpoint format
This commit adds an intermediate "caches" element so that additional
cache manager attributes can be added in the future.

Closes gh-13079
7 years ago
Andy Wilkinson a41c9eb736 Merge branch '2.0.x' 7 years ago
Andy Wilkinson e14a2e33ab Deprecate queue size property for StatsD metrics export
Closes gh-13108
7 years ago
Andy Wilkinson c826310fd1 Polish 7 years ago
Andy Wilkinson 3a3eeb0caf Merge branch '2.0.x' 7 years ago
Andy Wilkinson 8ce4110966 Allow Jersey-based Actuator to be used with separate management port
Previously, when the Jersey-based Actuator was configure with a
separate management port, the resulting child context would fail to
start due to their being no ResourceConfigCustomizer beans available.

This commit updates the configuration so that the customizer's are
injected using an ObjectProvider and an empty list is used in the
event of their being no customizer beans. This aligns the child
context configuration class with JerseyAutoConfiguration which
already used this approach.

Closes gh-12975
7 years ago
Stephane Nicoll 3ad8f3fcbf Merge branch '2.0.x' 7 years ago
Stephane Nicoll 9dccf5b895 Polish
See gh-13078
7 years ago
Phillip Webb c578a30e90 Polish 7 years ago
Phillip Webb cff552fb05 Merge branch '2.0.x' 7 years ago
Phillip Webb 6556bb2e89 Fix checkstyle violations 7 years ago
Phillip Webb a323a85e3b Merge branch '2.0.x' 7 years ago
Phillip Webb 975e986fef Polish 7 years ago
Madhura Bhave cdb5d76c7d Merge branch '2.0.x' 7 years ago
Madhura Bhave 469372c5ef Account for servlet path "/" in EndpointRequest
See gh-12934
7 years ago
Phillip Webb 7b120c1c97 Formatting 7 years ago
Phillip Webb 42c053cf1b Merge branch '2.0.x' 7 years ago
Phillip Webb 6de479fe6a Polish 7 years ago
Phillip Webb 93046d058d Polish 7 years ago
Madhura Bhave 6855c5556d EndpointRequest should consider server.servlet.path
Fixes gh-12934
7 years ago
Phillip Webb 5b3cb8a698 Update copyright header year for changed files 7 years ago
Phillip Webb 6e09e497f2 Formatting 7 years ago
Phillip Webb b6a2a46f78 Merge branch '2.0.x' 7 years ago
Phillip Webb 2d70a7ae5e Polish caught exception names
Prefer `ex` over `e`.
7 years ago
Phillip Webb 41efea51a7 Polish ternary expressions
Consistently format ternary expressions and always favor `!=` as the
the check.
7 years ago
Phillip Webb 8c0c0ee55a Merge branch '2.0.x' 7 years ago
Phillip Webb e125085993 Merge branch '1.5.x' into 2.0.x 7 years ago
Andy Wilkinson 0526594a3c Merge branch '2.0.x' 7 years ago
Stephane Nicoll 0fcffae0d9 Merge branch '2.0.x' 7 years ago
Johnny Lim d8700522d3 Rename nested *AutoConfiguration classes to *Configuration
Closes gh-12989
7 years ago
Stephane Nicoll fb8a5a9864 Polish "Add cache actuator endpoint"
This commit improves the initial proposal by providing a by name read
operation that returns the detail of a particular cache. It also adds
more tests and complete API documentation for the feature.

Closes gh-12216
7 years ago
Johannes Edmeier 1a57673345 Add cache actuator endpoint
This commits adds an actuator endpoint which lists the caches per
context and cacheManager and provides a delete operation to clear the
caches. As the statistics are exposed via the metrics endpoint they are
not included

See gh-12216
7 years ago
Brian Clozel 1ef0098ab5 Add WebClient metrics support
This commit adds support for Actuator Metrics for WebClient.
This support mirrors the current behavior for `RestTemplate`, reusing
the same metric name `"http.client.requests"` and tags.

`WebClient` is instrumented by a `MetricsWebClientFilterFunction` which
is applied by a `WebClientCustomizer`. This instrumentation happens
automatically only if you create an instance of `WebClient` using an
auto-configured `WebClient.Builder` bean.

This infrastructure is reusing de facto the `MeterFilter` that has been
added for `RestTemplate` in order to limit the "uri" tag cardinality.

Closes gh-12228
7 years ago
Johnny Lim b45c5f1a27 Polish
See gh-12981
7 years ago
Stephane Nicoll 03cf4fbb10 Polish "Add actuator endpoint for exposing the Spring Integration graph"
Closes gh-12331
7 years ago
Tim Ysewyn 8c67ef1079 Add actuator endpoint for exposing the Spring Integration graph
See gh-12331
7 years ago
Stephane Nicoll 518f41a4ae Improve @ConditionalOnEnabledEndpoint to be used on any component
This commit adds an `endpoint` attribute so that the condition can be
used on arbitrary components, not only endpoints or extensions.

Closes gh-12945
7 years ago
Stephane Nicoll 760b5e8510 Merge branch '2.0.x' 7 years ago
Johnny Lim a15319ee30 Remove ManagementServerProperties.addApplicationContextHeader
Closes gh-12926
7 years ago
Stephane Nicoll a85998f4c3 Polish "Add auto-configuration for Hibernate metrics"
Closes gh-12550
7 years ago
Rui Figueira b6b92ba937 Add auto-configuration for Hibernate metrics
All Hibernate entityManagerFactories are automatically instrumented
and their statistics are included into Micrometer using its
HibernateMetrics binder.

Closes gh-12550
7 years ago
dreis2211 2bbf438c36 Fix duplicate words in comments
Closes gh-12866
7 years ago
Stephane Nicoll 3c169b4e0a Fix bean name of EnvironmentEndpointWebExtension
Closes gh-12827
7 years ago
Johnny Lim f03849d502 Polish
See gh-12812
7 years ago
Andy Wilkinson 8d5b9f37d5 Merge branch '1.5.x' 7 years ago
Jon Schneider 03158e2fd5 Upgrade to Micrometer 1.0.3
Closes gh-12767
7 years ago
Phillip Webb 685babc829 Polish "Use lambdas for map entry iteration where possible"
Closes gh-12626
7 years ago
igor-suhorukov 69bc19e0ca Use lambdas for map entry iteration where possible
See gh-12626
7 years ago
Phillip Webb 598e9bb842 Polish 7 years ago
Phillip Webb ce9ca6ae70 Polish "Apply MeterRegistryCustomizer to composites"
Closes gh-12762
7 years ago
Jon Schneider 1fce462944 Apply MeterRegistryCustomizer to composites
Update `MeterRegistryConfigurer` to also apply customizers to
composite meter registries. Prior to this commit composites were
skipped due to the incorrect assumption that did not contain
their own state.

Closes gh-12762
7 years ago
Stephane Nicoll 7dbeaaa932 Polish "Remove HierarchicalNameMapper as a configured @Bean"
Closes gh-12683
7 years ago
Jon Schneider 8572a091b8 Remove HierarchicalNameMapper as a configured @Bean
HierarchicalNameMapper is not a component that can be shared amongst
multiple monitoring systems.

See gh-12683
7 years ago
Stephane Nicoll 7c36c00331 Fix default HierarchicalNameMapper implementation for Graphite
Closes gh-12557
7 years ago
Johnny Lim 4ab439856c Remove destroyMethod attribute in @Bean for MeterRegistry
Closes gh-12725
7 years ago
Madhura Bhave 270ee6dd2c Configure RequestContextFilter in mgmt context
Closes gh-12546
7 years ago
Andy Wilkinson cca5c0d2ee Start building against Spring REST Docs 2.0.1 snapshots
See gh-12681
7 years ago
dreis2211 3b0f6e7168 Use Supplier variants of Assert methods
See gh-12630
7 years ago
Johnny Lim c100510222 Remove value in @ConditionalOnMissingBean if possible
See gh-12604
7 years ago
Johnny Lim 625bf93598 Polish
See gh-12584
7 years ago
Johnny Lim 1e2e8b1d66 Rename expose to include
Closes gh-12555
7 years ago
Andy Wilkinson 72e36eadae Polish 7 years ago
Phillip Webb c201c1dac1 Polish 7 years ago
Madhura Bhave e6149fda1c Assert endpoints basePath starts with '/' or is empty
Fixes gh-12489
7 years ago
Vladimir Tsanev bf433e7f17 Fix Javadoc for ServiceLevelAgreementBoundary
Closes gh-12492
7 years ago
dreis2211 8626daf135 Replace Mockito.times(0) with Mockito.never()
Closes gh-12475
7 years ago
Phillip Webb a4b0be089d Polish 7 years ago
Andy Wilkinson 2f1b2e3ce2 Log summary of web-exposed endpoints during startup
Closes gh-12442
7 years ago
Andy Wilkinson f758a4ddd5 Do not link to controller endpoints in Jersey-based Actuator
Closes gh-12463
7 years ago
dreis2211 a21ea612db Remove duplicated @author tags
Closes gh-12454
7 years ago
igor-suhorukov 93f9bd0a32 Polish
Closes gh-12450
7 years ago
Madhura Bhave 89e42d40c5 Provide security matchers for actuator links
Fixes gh-12353
7 years ago
Andy Wilkinson 317b51f2ad Make ApplicationContextRequestMatcher and subclasses thread-safe
Previously, when performing lazy initialisation of the context,
ApplicationContextRequestMatcher assigned the context field before it
called initialized. The context being non-null is used as the signal
that it’s ok to call a subclass’s matches method. If one thread checks
for a non-null context in between the field being assigned and
initialized being called on another thread, matches will be called
before the subclass is ready.

This commit closes the window for the race condition by only assigning
the context field once the subclass’s initialized method has been
called.

There is a secondary problem in each of the subclasses. Due to the use
of double-checked locking in ApplicationContextRequestMatcher, it’s
possible for a subclass’s matches method to be called by a thread that
has not synchronised on the context lock that’s held when initialized
is called and the delegate field is assigned. This means that the
value assigned to the field may not be visible to that thread.

This commit declares the delegate field of each
ApplicationContextRequestMatcher subclass as volatile to ensure that,
following initialisation, its value is guaranteed to be visible to
all threads.

Closes gh-12380
7 years ago
Madhura Bhave e6eca04af2 Make EndpointRequestMatcher#excluding public
Fixes gh-12354
7 years ago
Johnny Lim 751c444166 Polish
See gh-12326
7 years ago
Madhura Bhave 1c27a8e6e2 Move tests to ApplicationContextRunner 7 years ago
Andy Wilkinson 01304959fa Polish "Remove redundant auto-configuration of SI Micrometer metrics"
Closes gh-12287
7 years ago
Gary Russell ddd820af9a Remove redundant auto-configuration of SI Micrometer metrics
Spring Integration no longer requires a `MicrometerMetricsFactory` to
support Micrometer metrics so there's nothing for Boot to
auto-configure.

See gh-12287
7 years ago
Andy Wilkinson c4c50b7c49 Only auto-configure LogbackMetrics when Logback is actually being used
Closes gh-12286
7 years ago
Phillip Webb 7f8bb4e8eb Allow EndpointRequest matching without path bean
Update `EndpointRequest` to that the `PathMappedEndpoints` bean is
optional. A missing bean is treated as if there are no path mapped
endpoints.

Fixes gh-12238
7 years ago
Phillip Webb d66496787d Propagate exceptions in security matchers
Update `ApplicationContextRequestMatcher` and
`ApplicationContextServerWebExchangeMatcher` to use a supplier for
the context, rather than the context itself.

This allow exceptions to be propagated to subclasses which may choose
to deal with them.

See gh-12238
7 years ago
Phillip Webb 802cd856aa Remove test-autoconfigure dependency
Update `spring-boot-actuator-autoconfigure` so that it no longer has
a dependency on `spring-boot-test-autoconfigure`. This will allow us to
add test support for actuator concerns in the future if we need to.

Fixed gh-12270
7 years ago
Andy Wilkinson dc36360155 Polish 7 years ago
Phillip Webb 3e4da3cc37 Polish 7 years ago
Andy Wilkinson 476b7087a7 Upgrade to Hikaricp 2.7.8
Closes gh-12252
7 years ago
Stephane Nicoll 0b46408846 Polish 7 years ago
Stephane Nicoll b0f381bb6f Review conditions of ElasticsearchHealthIndicatorAutoConfiguration
Closes gh-12249
7 years ago
Phillip Webb 29c3be3590 Polish 7 years ago
Stephane Nicoll 306c79f0de Merge branch '1.5.x' 7 years ago
Stephane Nicoll cd522dadcd Revert "Add Kafka health indicator"
Closes gh-12225
7 years ago
igor-suhorukov 98f4692c62 Polish
This commit changes invocations to immediately return the expression
instead of assigning it to a temporary variable. The method name should
be sufficient for callers to know exactly what will be returned.

Closes gh-12211
7 years ago
Stephane Nicoll cb1eed42b8 Polish 7 years ago
Stephane Nicoll e1fd9df7b9 Fix usage of management.server.add-application-context-header
Closes gh-12190
7 years ago
Stephane Nicoll 09ff815f00 Harmonize metadata
Closes gh-12177
7 years ago
Phillip Webb 4b9c3c137e Polish Collection.toArray
Consistently use `StringUtils.toStringArray`, `ClassUtils.toClassArray`
or zero length when converting collections to arrays.

Fixes gh-12160
7 years ago
Phillip Webb cd5266ac03 Polish 7 years ago
Johnny Lim 2fe86da95b Use isTrue() and isFalse() for AssertJ
Closes gh-12170
7 years ago
Johnny Lim 50c07d0772 Polish
Closes gh-12156
7 years ago
Andy Wilkinson e7176c63f5 Stop DataSource initialization from preventing Hikari instrumentation
Closes gh-12129
7 years ago
Stephane Nicoll e7db69be7a Polish
See gh-11869
7 years ago
Phillip Webb 349987d9be Switch show details default to ShowDetails.NEVER
Closes gh-11869
7 years ago
Phillip Webb 46021928ba Rework common server customization
Update the configurable embedded web server factory interfaces to
extend `ConfigurableWebServerFactory` so that the can be used in a
`WebServerFactoryCustomizer`.

Extract server specific customization to their own auto-configuration
and align reactive/servlet server auto-configuration.

Closes gh-8573
7 years ago
Phillip Webb aafa1e9615 Rename MetricsIntegrationAutoConfiguration
Rename `MetricsIntegrationAutoConfiguration` to
`IntegrationMetricsAutoConfiguration`.

Closes gh-12147
7 years ago
Phillip Webb 05faac2b09 Polish 7 years ago
Stephane Nicoll a7cccac0d0 Remove deprecation note for property that was renamed in 2.0 7 years ago
Stephane Nicoll 20f104766b Add missing default values for enums 7 years ago
Stephane Nicoll 45476961c1 Polish
See gh-12129
7 years ago
Stephane Nicoll 0f75a9a9fe Rework Hikari metrics registration
This commits move the Hikari metrics registration to a BeanPostProcessor
as the Hikari datasource cannot be modified once its configuration has
been sealed (usually happens when `getConnection` is invoked on the
pool).

Closes gh-12129
7 years ago
Stephane Nicoll 784372e6b3 Polish "Auto-configure metrics for Hikari"
Closes gh-12129
7 years ago
Tommy Ludwig 05e1f22824 Auto-configure metrics for Hikari
HikariCP has metrics integration with Micrometer. This configures all
`HikariDataSource` beans with the `MicrometerMetricsTrackerFactory` if a
`MeterRegistry` is available.

See gh-12129
7 years ago
Andy Wilkinson 3e4baf744e Use role-based security to show details in the health endpoint
Closes gh-11869
7 years ago
Stephane Nicoll f19b43bacc Polish "Consistent prefix for datasource pool metrics"
Closes gh-12127
7 years ago
Phillip Webb 20109e27be Add ApplicationConversionService and fix binder
Create a new `ApplicationConversionService` similar in design to the
DefaultFormattingConversionService from Spring Framework. The new
conversion service provides a central place for custom conversion logic
supported by Spring Boot.

Also replace the `BindingConversionService` with an internal
`BindConverter` class that now invokes the `SimpleTypeConverter`
directly. Binding for `@ConfigurationProperties` has been updated so
that any custom property editors registered with the BeanFactory can
be used.

Fixes gh-12095
7 years ago
igor-suhorukov fe023817c7 Polish static finals
Closes gh-12083
7 years ago
Phillip Webb adf22d6e4a Polish 7 years ago
Andy Wilkinson 482ecc606c Polish 7 years ago
Andy Wilkinson 22bac1b54e Polish "Bind StatsD queue gauges"
Closes gh-12124
7 years ago
Jon Schneider 53e872bf4c Bind StatsD queue gauges
See gh-12124
7 years ago
Jon Schneider 9934285bca Remove destroy methods from auto-configured MeterRegistry beans
Closes gh-12121
7 years ago
Andy Wilkinson 73460a5b25 Use auto-configuration to create composite, not a BFPP
Closes gh-12122
7 years ago
Stephane Nicoll 1e932860c4 Specify default micrometer values
This commit adds micrometer's default values for each monitoring
system with tests that validate those defaults are consistent. This
makes sure that those defaults are part of the metadata and any tooling
support that uses it.

Closes gh-12089
7 years ago
Stephane Nicoll 202ed7b72b Polish 7 years ago
Stephane Nicoll cd0c81fe39 Restore prefix in ConditionalOnProperty 7 years ago
Andy Wilkinson c3a31fafe2 Remove tangle between actuate.endpoint and actuate.endpoint.invoke
See gh-11854
7 years ago
Stephane Nicoll 6c85ed70e4 Polish "Add SignalFxConfig source property"
Closes gh-12066
7 years ago
Jon Schneider a732053afd Add SignalFxConfig source property
See gh-12066
7 years ago
Stephane Nicoll 1dab83adaa Polish "Restore behavior of management.metrics.export.simple.enabled"
Closes gh-12106
7 years ago
Jon Schneider da759f29d0 Restore behavior of management.metrics.export.simple.enabled
See gh-12106
7 years ago
Phillip Webb 9e75680e6f Polish 7 years ago
Andy Wilkinson c1c162ab0c Polish "Add auto-configuraton for exporting metrics to Wavefront"
Closes gh-12068
7 years ago
Jon Schneider 142dbb2213 Add auto-configuration for exporting metrics to Wavefront
See gh-12068
7 years ago
Andy Wilkinson 17c7f027e0 Add details of the request mapping conditions to mappings endpoint
Closes gh-12080
7 years ago
Andy Wilkinson 2c19257d6d Add HandlerMethod and HandlerFunction details to mappings endpoint
Closes gh-11864
7 years ago
Stephane Nicoll 99466e7fa6 Polish 7 years ago
Andy Wilkinson fe4c8f95ed Rename ReactiveWebServerAutoConfiguration
Closes gh-12086
7 years ago
Andy Wilkinson e72506c353 Protect TomcatMetrics auto-config against early MeterBinder init
Closes gh-11916
7 years ago
Andy Wilkinson 83626c7c12 Polish metrics export auto-configuration tests 7 years ago
Jon Schneider d70594a2b1 Fix upstream micrometer renames
Fix for the rename of `HistogramConfig` to `DistributionStatisticConfig`

Closes gh-12030
7 years ago
Phillip Webb 6771cc9674 Polish 7 years ago
Andy Wilkinson d238a31d3d Polish 7 years ago
Andy Wilkinson 25520a9e32 Polish “Auto-configure FileDescriptorMetrics”
Closes gh-12022
7 years ago
Tommy Ludwig a51fcd071e Auto-configure FileDescriptorMetrics
See gh-12022
7 years ago
Tommy Ludwig 149963bc61 Auto-configure ClassLoaderMetrics
Auto-configure ClassLoaderMetrics as part of the JVM metrics from
Micrometer.

See gh-12022
7 years ago
Jon Schneider 49f21a2264 Remove unnecessary config options for JDBC, Rabbit, and Cache metrics
See gh-12017
7 years ago
Andy Wilkinson ce9b2b8266 Auto-configure Micrometer’s Tomcat metrics
Closes gh-11916
7 years ago
Andy Wilkinson 01b1c1d947 Perform failure analysis of MissingRequiredConfigurationException
Closes gh-12010
7 years ago
Stephane Nicoll 28f5392787 Polish "Add health indicator for reactive MongoDB"
Closes gh-11997
7 years ago
Yulin Qin eee2694648 Add health indicator for reactive MongoDB
See gh-11997
7 years ago
Andy Wilkinson a02fdc755e Stop MeterRegistries when context is closed
Closes gh-12006
7 years ago
Johnny Lim 87bf0b26df Polish modifier order
See gh-12019
7 years ago
Phillip Webb 3bec55e16c Formatting 7 years ago
Madhura Bhave 16a499b2fa Cloud Foundry health should always show details
Fixes gh-12014
7 years ago
Phillip Webb f34aa6f4d8 Migrate to Spring Integration Micrometer support
Remove custom `SpringIntegrationMetrics` and instead provide
auto-configuration to the direct Micrometer support added in Spring
Integration 5.0.2.

Closes gh-11985
7 years ago
Andy Wilkinson b0e86bd7ac Align New Relic and Signal FX tests with those for other exporters
Closes gh-11970
7 years ago
Andy Wilkinson 384a4ed6a9 Use metrics export.*.enabled properties to control auto-configuration
Closes gh-11978
7 years ago
Phillip Webb 0348889fd7 Polish 7 years ago
Andy Wilkinson e49d50fe9d Improve testing of metrics auto-configuration
Closes gh-11970
7 years ago
Johnny Lim 5a9865dabb Polish
Closes gh-12004
7 years ago
Stephane Nicoll 7473642f58 Harmonize endpoints exclude property
Closes gh-11914
7 years ago
Andy Wilkinson 037b6d8ba2 Auto-configure Micrometer's New Relic and SignalFX support
Closes gh-11803
7 years ago
Andy Wilkinson bc814d2039 Prevent authenticated principal from clashing with argument of same name
Closes gh-11988
7 years ago
Phillip Webb 63c827b14d Ensure exports are configured before endpoint
Update `SimpleMetricsExportAutoConfiguration` to ensure that it runs
before `SimpleMetricsExportAutoConfiguration`.

See gh-11977
7 years ago
Phillip Webb d259f68fbf Drop recordRequestPercentiles property
Drop the `recordRequestPercentiles` property as it overlaps with the
property based `MeterFilter` support.

Fixes gh-11982
7 years ago
Phillip Webb 601157f552 Polish "Add publishUnchangedMeters StatsD support"
Closes gh-11967
7 years ago
Jon Schneider e02eba2a33 Add publishUnchangedMeters StatsD support
Add configuration property to support publishing unchanged pollable
meters.

See gh-11967
7 years ago
Phillip Webb 3ec778fb64 Polish 7 years ago
Andy Wilkinson 351e1ec4de Ensure that metrics export backs off when there's no Clock
Closes gh-11977
7 years ago
Madhura Bhave e9fe918d25 Add option to skip ssl for reactive CF actuators
Fixes gh-10898
7 years ago
Andy Wilkinson fee9dacab1 Allow use of custom DatadogConfig without requiring api-key property
Closes gh-11979
7 years ago
Andy Wilkinson cc3d7648c1 Auto-configure Micrometer's Clock in a single place
Closes gh-11977
7 years ago
Stephane Nicoll 077d00fcb3 Polish 7 years ago
Andy Wilkinson 03d7c3a7af Repackage HTTP tracing auto-configuration classes
Closes gh-11934
7 years ago
Andy Wilkinson a6ecd55f1f Make expose and exclude properties affect servlet endpoints
Closes gh-11968
7 years ago
Andy Wilkinson 2993dccd1e Provide links to all types of endpoints
Previously, links were only provide to web endpoints. This commit
expands link resolution to also provide links for servlet endpoints,
controller endpoints, and rest controller endpoints.

Closes gh-11902
7 years ago
Phillip Webb 204f6f67fd Migrate all of metrics to auto-configuration
Migrate remaining metrics `@Configuration` classes to individual
auto-configurations.

Fixes gh-11935
7 years ago
Phillip Webb 6f7f11fd96 Refine metrics export auto-configure ordering
The `SimpleMetricsExportAutoConfiguration` should be last and it should
check for a `MeterRegistry` bean.

See gh-11838
7 years ago
Phillip Webb 5de46c3186 Polish 7 years ago
Phillip Webb 387804e600 Format with Eclipse Oxygen SR2 7 years ago
Andy Wilkinson 5522174e96 Provide package info for all packages included in javadoc 7 years ago
Andy Wilkinson dec37ec5e2 Move EndpointMapping into spring-boot-actuator 7 years ago
Andy Wilkinson 4beb6be179 Rename HTTP trace properties and packages
Closes gh-11934
7 years ago
Andy Wilkinson a09c64e18c Polish 7 years ago
Stephane Nicoll 7cd19822c6 Polish "Add Kafka health indicator"
Closes gh-11515
7 years ago
Juan Camilo Rada 0dbd9429cc Add Kafka health indicator
See gh-11515
7 years ago
Andy Wilkinson 76a450dfba Format with Eclipse Oxygen SR2 7 years ago
Madhura Bhave 7136bed126 Fix tests 7 years ago
Michael J. Simons 97a97f3784 Polish 7 years ago
Stephane Nicoll 63d2e944ba Polish "Add influx property to govern whether db is auto-created or not"
Closes gh-11922
7 years ago
Jon Schneider 9b215df4e9 Add influx property to govern whether db is auto-created or not 7 years ago
Andy Wilkinson 8229733f0d Avoid triggering early init when creating MeterRegistryPostProceesor
Closes gh-11890
7 years ago
Andy Wilkinson 8605499a64 Provide more control over when the health endpoint shows details
Closes gh-11869
7 years ago
Phillip Webb d8de8752ea Change metrics exporters to auto-configurations
Refactor `*ExportConfiguration` classes to be regular auto-configuration
classes.

Also removed the `@ConditionalOnProperty` guards for `.enabled` properties
since auto-configuration can now be excluded in the usual way. Enabled
properties remain where applicable and are adapted for Micrometer to use
as it sees fit.

Fixes gh-11838
7 years ago
Phillip Webb 6889ad59b8 Support property based MeterFilters
Add per-meter property support for `enabled`, `percentiles-histogram`,
`percentiles` and `sla`.

Fixes gh-11800
7 years ago
Andy Wilkinson 7d561f5ed0 Polish "Align with Micrometer's standardized cache metrics"
Closes gh-11918
7 years ago
Andy Wilkinson 2cc7325017 Polish 7 years ago
Andy Wilkinson 875091ed85 Polish “Remove or use unused method parameters”
Closes gh-11812
7 years ago
igor-suhorukov 717bd2c580 Remove or use unused method parameters 7 years ago
Phillip Webb 3ff772957b Add WebServerApplicationContext abstraction
Add a new `WebServerApplicationContext` interface that provides a common
abstraction for all application contexts that create and manage the
lifecycle of an embedded `WebServer`.

Allows server namespaces to become a first-class concept (rather
subverting `ConfigurableWebApplicationContext.getNamespace()`) and
allow us to drop `getServerId()` from `WebServerInitializedEvent`.

Also helps to improve `ManagementContextAutoConfiguration` and
`ManagementContextFactory`.

Fixes gh-11881
7 years ago
Jon Schneider 09181d6b16 Fix CompositeMeterRegistryPostProcessor autowire
Update `CompositeMeterRegistryPostProcessor` to use constructor
autowiring for `Clock` detection.

Fixes gh-11856
7 years ago
Stephane Nicoll f7bf79c9b3 Polish deprecated metadata 7 years ago
Stephane Nicoll 8b3c2b01e3 Fix broken replacement ids 7 years ago
Andy Wilkinson 356efaa7c8 Rename trace to httptrace
Closes gh-11806
7 years ago
Jon Schneider 2612b43179 Restrict maximum URI tags to prevent memory issues
Add MeterFilter to restrict the maximum number of web client URI tags
created. Prior to this commit, if a user was manually building URIs for
use with a RestTemplate (rather than using uriVariables) the JVM could
run out of memory.

Fixes gh-11338

Co-authored-by: Phillip Webb <pwebb@pivotal.io>
7 years ago
Phillip Webb 8f23ee4e58 Apply micrometer MeterFilter beans automatically
Update `MeterRegistryPostProcessor` and `MetricsAutoConfiguration` so
that micrometer `MeterFilter` beans are automatically applied.

Fixes gh-11843
7 years ago
Phillip Webb c90a5a9e9e Polish 7 years ago
Phillip Webb 5632d043ff Fix enums following upstream micrometer change
See gh-11575
7 years ago
Phillip Webb 9a8c182d19 Only use micrometer composites when necessary
Update micrometer auto-configuration so that a `CompositeMeterRegistry`
is only created when more than one `MeterRegistry` bean is declared.
When a composite is crated, it is marked as `@Primary` so that it
can be directly injected. Meter registries can now be defined directly
as beans, and auto-configuration can back off in the usual way.

The `MeterRegistryConfigurer` is now called `MeterRegistryCustomizer`
and is generically types so it's easy to apply customizations to a
particular `MeterRegistry` implementation.

Fixes gh-11799

Co-authored-by: Jon Schneider <jschneider@pivotal.io>
7 years ago
Andy Wilkinson e834b25ef1 Polish 7 years ago
Phillip Webb af50a18da9 Polish 7 years ago
Stephane Nicoll eba476ba6e Disable LoggersEndpoint if the logging system is disabled
Closes gh-11793
7 years ago
Andy Wilkinson 9edcd25c25 Simply test for async dispatch metrics filter registration
Previously, the test in MetricsAutoConfigurationIntegrationTests was
testing the functionality of WebMvcMetricsFilter to verify that the
auto-configuration had registered the filter for async dispatches.
This test was complex and covered the same code as a test in
WebMvcMetricsFilterTests.

This commit reworks the test to examine the dispatcher types on the
filter registration directly instead.

Closes gh-11826
7 years ago
Stephane Nicoll a515c5b7d1 Polish contribution
Closes gh-11811
7 years ago
Johnny Lim 914bdb393f Polish
See gh-11811
7 years ago
Phillip Webb 5767350380 Polish 7 years ago
Johnny Lim 6d68806275 Polish
Closes gh-11805
7 years ago
Jon Schneider b254761c5e Support micrometer Graphite tagsAsPrefix property
Fixes gh-11797
7 years ago
Phillip Webb 0b689a5b10 Polish MetricsFilter registration async support
Closes gh-11348
7 years ago
Nikolay Rybak b6af06a55f Fix MetricsFilter registration to support async
Update `WebMvcMetricsConfiguration` so that the filter is registered
with the correct settings to support async requests.

See gh-11348
7 years ago
Phillip Webb 25815ca7e1 Refine WebMvcMetricsFilter for async support
Rework `WebMvcMetricsFilter` so that async requests can be handled
correctly.

See gh-11348
7 years ago
Phillip Webb 643cda480f Migrate to updated micrometer Tags class
See gh-11575
7 years ago
Jon Schneider fd237f85cc Extract common micrometer test setup
Create `MetricsRun` that can be used to apply common micrometer test
configuration to a `ApplicationContextRunner`.

Closes gh-11804
7 years ago
Jon Schneider d1de1cd053 Upgrade to micrometer 1.0.0-SNAPSHOT
Move to the snapshots and rework changed APIs in preparation for
the upcoming rc8 release.

See gh-11575
7 years ago
Phillip Webb b234501af3 Polish 7 years ago
Andy Wilkinson 988fc18f8c Simplify endpoint enablement and update reference documentation
Closes gh-11755
7 years ago
Stephane Nicoll fe7d7e2fc9 Polish 7 years ago
Johnny Lim 15fb62718d Remove unused parameters
Closes gh-11785
7 years ago
Andy Wilkinson 3565961d68 Rework HTTP exchange tracing and add support for WebFlux
Closes gh-9980
7 years ago
Andy Wilkinson 4c23afdcd8 Polish 7 years ago
Phillip Webb 017efda6ec Add @EndpointServlet and migrate Jolokia
Add first class support for Servlet based endpoints and rework the
Jolokia endpoint to use it.

Fixes gh-10264
7 years ago
Phillip Webb 3bd940baaa Polish "Add more WebEndpointAutoConfiguration tests"
Closes gh-11754
7 years ago
Yunkun Huang d8527a9708 Add tests for WebEndpointAutoConfiguration
Closes gh-11754
See gh-11684
7 years ago
Phillip Webb ab6ad6aa4b Polish 7 years ago
Andy Wilkinson 292025936e Omit null properties from actuator endpoint API response examples
Closes gh-11757
7 years ago
Madhura Bhave 55c8ceb440 Polish 7 years ago
andrey.onufreyko b19dcb13e2 Replace string arguments with char
Optimize method calls by replacing single character String arguments
with char.

Closes gh-11680
7 years ago
Johnny Lim 768e7c07e6 Polish
Closes gh-11720
7 years ago
Andy Wilkinson fbb1ba1bb3 Move actuator mappings introspection classes into dedicated packages
Closes gh-9979
7 years ago
Phillip Webb bda9b892b3 Add direct WebFlux and WebMvc endpoint support
Add `@ControllerEndpoint` and `@RestControllerEndpoint` annotations that
can be used to develop a Spring-only request mapped endpoint. Both
Spring MVC and Spring WebFlux are supported.

This feature is primarily for use when deeper Spring integration is
required or when existing Spring Boot 1.5 projects want to migrate to
Spring Boot 2.0 without re-writing existing endpoints. It comes at the
expense of portability, since such endpoints will be missing from
Jersey.

Fixes gh-10257
7 years ago
Phillip Webb 340ef52f78 Refactor endpoint path concerns
Create a `PathMappedEndpoint` interface that allows any `ExposedEndpoint`
to provide root path details. The `EndpointPathResolver` interface has
been renamed to `PathMapper` and is now only used during endpoint
discovery.

`EndpointPathProvider` has been replaced with `PathMappedEndpoints`
which simply finds relevant path mapped endpoints.

Fixes gh-10985
7 years ago
Phillip Webb 1d39feffea Overhaul actuator endpoint code
Refactor several areas of the actuator endpoint code in order to make
future extensions easier. The primary goal is to introduce the concept
of an `ExposableEndpoint` that has technology specific subclasses and
can carry additional data for filters to use. Many other changes have
been made along the way including:

* A new EndpointSupplier interface that allows cleaner separation of
  supplying vs discovering endpoints. This allows cleaner class names
  and allows for better auto-configuration since a user can choose to
  provide their own supplier entirely.

* A `DiscoveredEndpoint` interface that allows the `EndpointFilter`
  to be greatly simplified. A filter now doesn't need to know about
  discovery concerns unless absolutely necessary.

* Improved naming and package structure. Many technology specific
  concerns are now grouped in a better way. Related concerns are
  co-located and concepts from one area no longer leakage into another.

* Simplified `HandlerMapping` implementations. Many common concerns have
  been pulled up helping to create simpler subclasses.

* Simplified JMX adapters. Many of the intermediary `Info` classes have
  been removed. The `DiscoveredJmxOperation` is now responsible for
  mapping methods to operations.

* A specific @`HealthEndpointCloudFoundryExtension` for Cloud Foundry.
  The extension logic used to create a "full" health endpoint extension
  has been made explicit.

Fixes gh-11428
Fixes gh-11581
7 years ago
Phillip Webb dc935fba48 Polish 7 years ago
Madhura Bhave 5e2cc02499 Move servlet specific security auto-config 7 years ago
Stephane Nicoll c926bed6f5 Polish "Fix modifiers order"
Closes gh-11681
7 years ago
igor-suhorukov e2d05607f2 Fix modifiers order
See gh-11681
7 years ago
Johnny Lim 9d24186942 Use this() in EndpointRequests
Closes gh-11690
7 years ago
Phillip Webb 0b81f78a2a Revert "Create CloudFoundry-specific EndpointWebExtension"
This reverts commit 7189f426ed.
7 years ago
Phillip Webb f3379668ac Polish 7 years ago
Stephane Nicoll 8704cf1fe7 Harmonize metric property names
See gh-11667
7 years ago
Stephane Nicoll 6086bc714f Fix json structure 7 years ago
Stephane Nicoll 7002507304 Polish 7 years ago
Stephane Nicoll beaa49a2d6 Polish "Add auto-configuration for RabbitMQ metrics"
Closes gh-10887
7 years ago
Arnaud Cogoluègnes 58c8c4d56a Add auto-configuration for RabbitMQ metrics
See gh-10887
7 years ago
Stephane Nicoll 5cb6c086b6 Rename micrometer instrumentation flags
Closes gh-11667
7 years ago
Andy Wilkinson 849baa4c02 Do not require after in audit events endpoint
Closes gh-11605
7 years ago
Andy Wilkinson 54c0cf513b Polish 7 years ago
Andy Wilkinson 3cf1fb6763 Polish formatting in Actuator API documentation 7 years ago
Andy Wilkinson 67a299020b Rework mappings endpoint
Improve the structure of the response and include mappings from
WebFlux and Servlet and Filter registrations in addition to the
mappings from Spring MVC.

Closes gh-9979
7 years ago
Andy Wilkinson 5b8a2f9675 Improve context hierarchy handling in Actuator endpoints
Previously, a number of Actuator endpoints ignored a context hierarchy
or assumed that it would always be linear. This commit reworks the
affected endpoints so that the no longer assume a linear hierarchy.

A side-effect of a non-linear hierarchy is that there may be multiple
different beans with the same name (in a linear hierarchy, a bean
with the same name as one in an ancestor context, replaces that bean).
The affected endpoints have also been updated so that, when bean names
are used as keys, those keys are grouped by application context. This
prevents a bean in one context from accidentially overwriting a bean
in another context.

Closes gh-11019
7 years ago
Andy Wilkinson 23d8d608c4 Polish 7 years ago
Andy Wilkinson 2b99962a85 Replace use of Date with OffsetDateTime and Instant in Actuator
Closes gh-10976
7 years ago
Stephane Nicoll ae3cd75d1a Polish "Upgrade to Micrometer 1.0.0-rc.6"
Closes gh-11598
7 years ago
Jon Schneider ccc820f723 Upgrade to Micrometer 1.0.0-rc.6
See gh-11598
7 years ago
Brian Clozel 69d5b7a4e8 Add missing header expectations in tests
Fixes gh-11318
7 years ago
Stephane Nicoll 7189f426ed Create CloudFoundry-specific EndpointWebExtension
Closes gh-11428
7 years ago
Brian Clozel d264af8142 Apply server.tomcat.* config to reactive servers
This commit applies most `server.tomcat.*` configuration
properties to Tomcat when set up as a reactive web server.

Some Servlet-specific properties are not applied:

* server.tomcat.additional-tld-skip-patterns
* server.tomcat.redirect-context-root
* server.tomcat.use-relative-redirects

Fixes gh-11334
7 years ago
Madhura Bhave e57aafd63d Provide EndpointRequest for WebFlux-based Security
Closes gh-11022
7 years ago
Madhura Bhave fa8bca41f8 Fix javadoc 7 years ago
Madhura Bhave 8fedc29ed7 Update copyright year of changed files 7 years ago
Madhura Bhave 3d30c62162 Fix package tangle in cloudfoundry configuration
Fixes gh-11273
7 years ago
Phillip Webb b078698f20 Update copyright year of changed files 7 years ago
Johnny Lim 0f0c6e0729 Polish
Closes gh-11536
7 years ago
Phillip Webb cae02ce0b8 Make WebMvcMetricsFilter lazy
Update `WebMvcMetricsFilter` so that it no longer causes early
initialization of Spring MVC concerns.

Fixes gh-11571
7 years ago
Phillip Webb 25609c060e Polish 7 years ago
Stephane Nicoll ac004eabf3 Update copyright header
See gh-11510
7 years ago
Johnny Lim 37d8eedae3 Polish
Closes gh-11510
7 years ago
Phillip Webb bee5fa7fc6 Polish 7 years ago
Phillip Webb 6bac365a72 Polish micrometer cache metrics
Change `CacheMeterBinderProvider` to include a cache type
generic which helps to simplify implementations. Also move
and extract a few classes.

See gh-11221
7 years ago
Stephane Nicoll 0515ca0dd0 Auto configure micrometer cache metrics
Closes gh-11221
7 years ago
Johnny Lim 24b5a78e39 Polish
Closes gh-11448
7 years ago
Madhura Bhave 8102dc78cb Remove redundant throws declarations 7 years ago
Johnny Lim 8ae2be6043 Fix property names in MeterBindersConfiguration
Closes gh-11443
7 years ago
Madhura Bhave c29fe05708 Remove redundant property from tests 7 years ago
Stephane Nicoll 8d1bd7eb3c Polish 7 years ago
Stephane Nicoll 81af02fde7 Improve JVM metrics
This commit adds GC and thread jvm metrics to the existing memory
metrics. All three are now managed by a unique
management.metrics.binders.jvm.enabled property.

Closes gh-11425
7 years ago
Stephane Nicoll f0d94a46fd Polish 7 years ago
Stephane Nicoll afba8fed79 Harmonize management.server.context-path property
This commit moves management.server.context-path to
management.server.servlet.context-path to align with the configuration
key for the application's main context path.

Closes gh-11359
7 years ago
Stephane Nicoll 2738147947 Polish "Move CorsEndpointProperties to the parent package"
Closes gh-11439
7 years ago
Johnny Lim 8383b76138 Move CorsEndpointProperties to the parent package
`CorsEndpointProperties` lives in `endpoint.web.servlet` but is also used
in `endpoint.web.reactive`, so this PR moves it to its common parent
package.

This commit also extracts `CorsConfiguration` creation logic duplicated
in `WebMvcEndpointManagementContextConfiguration` and
`WebFluxEndpointManagementContextConfiguration` into
`CorsEndpointProperties`.

See gh-11439
7 years ago
Johnny Lim 3c5ccb1166 Polish
Closes gh-11418
7 years ago
Johnny Lim b35348b41d Remove org.flywaydb.core.internal.util.StringUtils import
Closes  gh-11396
7 years ago
Johnny Lim 3a276d2a87 Rename CloudFoundryHealthWebEndpointManagementContextConfiguration
Closes gh-11400
7 years ago
Johnny Lim 240aaadd83 Fix package name for InfluxDB
Closes gh-11364
7 years ago
Eddú Meléndez cc9b2a9786 Fix property key to enable influxdb health endpoint
Closes gh-11365
7 years ago
Phillip Webb 6cb331ed2c Cache endpoint enabled-by-default result
Update `OnEnabledEndpointCondition` so that the result of
`management.endpoints.enabled-by-default` is cached between calls.

Fixes gh-11407
7 years ago
Phillip Webb befdbaaaa9 Polish 7 years ago
Stephane Nicoll 2ed162a0be Fix outdated references to server.context-path
Closes gh-11358
7 years ago
Stephane Nicoll a33c3eec3f Polish "Add InfluxDb health indicator"
Closes gh-11159
7 years ago
Eddú Meléndez cdbdc1cb7f Add InfluxDb health indicator
See gh-11159
7 years ago
Stephane Nicoll ef78cb33b3 Move metrics properties to "management.metrics"
Closes gh-11340
7 years ago
Stephane Nicoll de8fe7550f Polish 7 years ago
Stephane Nicoll 41720ca93d Improve extension of Neo4jHealthIndicator
This commit makes it easier to extend `Neo4jHealthIndicator` for cases
where a custom cypher needs to be executed.

Closes gh-11120
7 years ago
Phillip Webb 3273859fde Polish 7 years ago
Stephane Nicoll 681fdb1ee8 Property detect Health web extension with management context
Previously, the Health web extension was defined in the management
context and, as a result, it wasn't found when a separate port was
required. The side effect is that anything that the health web extension
does was not active anymore in that case.

This commit makes sure that the extension is always defined as part of
the main context where operations are discovered and merged.

Closes gh-11285
7 years ago
Johnny Lim de72f2ae32 Polish
Closes gh-11327
7 years ago
Brian Clozel 175f451b0f Polish 7 years ago
Alessandro Ciccimarra e1def637ae Apply configurers on MeterRegistry before injection
MeterRegistryConfigurers are now applied within the Bean method
creating the CompositeMeterRegistry, instead of applying them
later in its lifecycle, when the bean itself could have been
injected somewhere.

Fixes gh-11319
7 years ago
Stephane Nicoll 23218add90 Polish 7 years ago
Brian Clozel 5f3c2bef50 Add CORS support to Actuator WebFlux
Closes gh-11308
7 years ago
Stephane Nicoll 5ef9364085 Polish 7 years ago
Johnny Lim 384819ab5f Add @Configuration to ScheduledTasksEndpointAutoConfiguration
Closes gh-11313
7 years ago
Johnny Lim 6d54072e04 Remove "final" keywords
Closes gh-11294
7 years ago
Andy Wilkinson c0e3ae9042 Polish 7 years ago
Johnny Lim d33c6773da Use volatile for ReactiveTokenValidator.cacheTokenKeys
Closes gh-11233
7 years ago
Johnny Lim ada4d13a4e Document spring.metrics.binders.*
Closes gh-11262
7 years ago
Stephane Nicoll a4913712cb Do not expose the composite ReactiveHealthIndicator as a bean
Previously, a `ReactiveHealthIndicator` bean was exposed to define the
health indicator to use for the reactive endpoint. Having it exposed as
a bean has the side effect that the regular `HealthIndicator` composite
is picked up and a "reactive" entry is added to the health details.

This commit creates such indicator internally as it should be.

Closes gh-11222
7 years ago
Stephane Nicoll 5dc28ec446 Merge branch '1.5.x' 7 years ago
Johnny Lim 44299bb980 Polish
Closes gh-11206
7 years ago
Johnny Lim 952224ef56 Polish
Closes gh-11193
7 years ago
Phillip Webb 2c959b8e2a Polish health indicators
Align reactive and non-reactive web extensions and update `showDetails`
so that it only applies to web exposure.

See gh-11113
See gh-11192
7 years ago
Madhura Bhave 9e95483645 Add cloudfoundry health extensions
Fixes gh-11192
7 years ago
Phillip Webb e1306c6228 Polish micrometer rc.5 upgrade
Closes gh-11071
7 years ago
Jon Schneider 2e0a915281 Upgrade to micrometer 1.0.0-rc.5
See gh-11071
7 years ago
Phillip Webb 960083bd33 Polish 7 years ago
Madhura Bhave 2319d01feb Prevent race condition in ReactiveTokenValidator 7 years ago
Andy Wilkinson 22a426fe39 Polish 7 years ago
Madhura Bhave 9f76832488 Optimize fetching tokenKeys for reactive actuators
Closes gh-10899
7 years ago
Johnny Lim 70d92037bd Use BeanIds.SPRING_SECURITY_FILTER_CHAIN
See gh-11162
7 years ago
Stephane Nicoll 480039f212 Fix default value of management.endpoints.web.expose 7 years ago
Stephane Nicoll a12bab453c Polish "Fix PropertiesConfigAdapter delegation logic"
Closes gh-11135
7 years ago
Nikolay Rybak 9163d65b0e Fix PropertiesConfigAdapter delegation logic
This change replaces fallback logic in PropertiesConfigAdapter and its
descendants such that instead of falling back to default "empty" config
it delegates to superinterface default implementation of the same class.

This allows default implementation to call back to other properties,
like DatadogConfig.uri() does.

See gh-11135
7 years ago
Stephane Nicoll 45e8c237de Polish 7 years ago
Johnny Lim 01a48412d2 Polish
Closes gh-11126
7 years ago
Stephane Nicoll 97bb70cd0c Polish 7 years ago
Stephane Nicoll 3a6a238ea9 Improve error metadata for Actuator 7 years ago
Vedran Pavic 63aef58d30 Fix references to management related properties
See gh-11091
7 years ago
Phillip Webb 07f71e889e Move `/application` to `/actuator`
Change the endpoint default path from `/application` to `/actuator`.

Fixes gh-10970
7 years ago
Phillip Webb 3e2ede51d6 Delete `status` documentation
See gh-11113
7 years ago
Phillip Webb 31025d9f6c Drop status endpoint
Drop the status endpoint and merge functionality back into the health
endpoint. The `management.endpoint.health.show-details` property can
be used to change if full details, or just the status is displayed.

Fixes gh-11113
7 years ago
Phillip Webb e82913dd5a Align appendix edits with source code
Port editing changes from append to java source files to ensure that
IDE meta-data also reflects the improvements.

Closes gh-10870
7 years ago
Phillip Webb 64c5e8b6ed Rename @DurationUnit -> @DefaultDurationUnit
Rename `@DurationUnit` to `@DefaultDurationUnit` to make it clearer
that it only changes the unit if one isn't specified by the user.

Closes gh-11078
7 years ago
Andy Wilkinson bc98b84013 Reduce excessive logging by disabling Statsd metrics export
Closes gh-11009
7 years ago
Phillip Webb 8f4bf233b4 Update configuration properties to use Duration
Update appropriate configuration properties to use the `Duration`
type, rather than an ad-hoc mix of milliseconds or seconds.

Configuration properties can now be defined in a consistent and readable
way. For example `server.session.timeout=5m`.

Properties that were previously declared using seconds are annotated
with `@DurationUnit` to ensure a smooth upgrade experience. For example
`server.session.timeout=20` continues to mean 20 seconds.

Fixes gh-11080
7 years ago
Johnny Lim 73c65286ea Polish 7 years ago
Phillip Webb 7ff2cb5dc8 Polish 7 years ago
Madhura Bhave 49768e2b1f Register config classes once in reactive child context
Fixes gh-10939
7 years ago
Phillip Webb a6cefc5ba0 Polish 7 years ago
Madhura Bhave 5ce9067e30 Clean trailing slash from endpoints.web.base-path
Fixes gh-11021
7 years ago
Andy Wilkinson 3e46b5c5c7 Auto-configure endpoints in main context so they are always discovered
Closes gh-11046
7 years ago
Andy Wilkinson 3b45342359 Make Actuator Web API documentation compatible with Java 9
Closes gh-8042
7 years ago
Jay Bryant 706600c003 Polish Actuator Web API documentation
See gh-8042
7 years ago
Andy Wilkinson 4de208bc94 Provide reference documentation for Actuator web endpoints
Closes gh-8042
7 years ago
Johnny Lim e8563c54dd Polish
Closes gh-11050
7 years ago
Stephane Nicoll 54b54b7c30 Fix condition for Datadog's api key
Closes gh-11053
7 years ago
Johnny Lim cbb483735d Polish
Closes gh-10948
7 years ago
Stephane Nicoll bcab23e538 Polish "Separate endpoint concerns"
* Fix the endpoint prefix for generated metadata.
* Polish and improve configuration key descriptions.

Closes gh-10176
7 years ago
Phillip Webb fd5c43cdc9 Separate endpoint concerns
Update endpoint code to provide cleaner separation of concerns.
Specifically, the top level endpoint package is no longer aware of
the fact that JMX and HTTP are ultimately used to expose endpoints.
Caching concerns have also been abstracted behind a general purpose
`OperationMethodInvokerAdvisor` interface.

Configuration properties have been refined to further enforce
separation. The `management.endpoint.<name>` prefix provides
configuration for a  single endpoint (including enable and cache
time-to-live). These  properties are now technology agnostic (they
don't include `web` or `jmx` sub properties).

The `management.endpoints.<technology>` prefix provide exposure specific
configuration. For example, `management.endpoints.web.path-mapping`
allow endpoint URLs to be changed.

Endpoint enabled/disabled logic has been simplified so that endpoints
can't be disabled per exposure technology. Instead a filter based
approach is used to allow refinement of what endpoints are exposed over
a given technology.

Fixes gh-10176
7 years ago
Phillip Webb f647f5689f Polish 7 years ago
Andy Wilkinson 1a094598b8 Add an endpoint for retrieving information about scheduled tasks
Closes gh-8831
7 years ago
Stephane Nicoll 1830dcf103 Rename AutoConfigurationReportEndpoint to ConditionsEndpoint
This commit further aligns the change to ConditionEvaluationReport by
renaming the 'autoconfig' endpoint to 'conditions'.

Closes gh-2945
7 years ago
Stephane Nicoll 401fe7e1e2 Polish micrometer configuration key descriptions
Closes gh-10890
7 years ago
Stephane Nicoll 92c62b6e9f Remove resuscitated properties from the deprecation list
This commit removes two properties that were remove in earlier
milestones of Spring Boot 2 and reintroduced with the support of
micrometer.

Closes gh-11015
7 years ago
Andy Wilkinson 806cf32549 Drop redundant web extension for sessions endpoint
Changes made in f1cfad67 mean that the web-specific extension is no
longer required as the infrastructure now automatically produces a
bad request (400) response when a required query parameter is absent.

See gh-10372
7 years ago
Andy Wilkinson 07462be090 Polish 7 years ago
Johnny Lim bd0dcfb172 Utilize StandardCharsets
Closes gh-10972
7 years ago
Madhura Bhave 3be521e825 Add DefaultHandlerExceptionResolver to child context
Fixes gh-10560
7 years ago
Andy Wilkinson 60afbdc868 Polish 7 years ago
Johnny Lim c05a299520 Polish
Closes gh-10921
7 years ago
Phillip Webb cf17e5708b Polish Micrometer 1.0.0-rc.3 upgrade
Polish Micrometer 1.0.0-rc.3 upgrade changes.

Closes gh-10906
7 years ago
Jon Schneider 65e6876025 Upgrade to Micrometer 1.0.0-rc.3
Upgrade to Micrometer 1.0.0-rc.3 and refactor existing
auto-configuration to align with updated APIs.

Note that Spring MVC instrumentation has now changed from an interceptor
to a Filter.

See gh-10906
7 years ago
Phillip Webb fa191d8c73 Align ReactiveWebApplicationContext with framework
Refactor `ReactiveWebApplicationContext` implementations to align closer
with the `WebApplicationContext` implementations defined in
Spring Framework.

The following classes are now provided:

  - `AnnotationConfigReactiveWebApplicationContext` -- A refreshable
    reactive web context with support for `@Configuration` classes.

  - `GenericReactiveWebApplicationContext` -- A non-refreshable reactive
    GenericApplicationContext.

  - `ReactiveWebServerApplicationContext` --  A non-refreshable reactive
    GenericApplicationContext with support for server discovery.

  - `AnnotationConfigReactiveWebServerApplicationContext` -- A
    non-refreshable reactive `GenericApplicationContext` with support
    for `@Configuration` classes and server discovery.

These classes roughly align to the following Servlet equivalents:

  - `AnnotationConfigWebApplicationContext` (Spring Framework)
  - `GenericWebApplicationContext` (Spring Framework)
  - `ServletWebServerApplicationContext` (Spring Boot)
  - `AnnotationConfigServletWebServerApplicationContext` (Spring Boot)

An additional `ConfigurableReactiveWebEnvironment` interface as also
been introduced, primarily for `@ConditionalOnWebApplication` to use.

Fixes gh-10852
7 years ago
Madhura Bhave 55b7a48bee Add missing conditionals 7 years ago
Phillip Webb 3f00ba3cad Polish 7 years ago
Madhura Bhave d50fe8874f Add CF support for reactive actuators
Closes gh-10780
7 years ago
Stephane Nicoll 9b8fefb0f4 Move micrometer export related keys under a common prefix #10858
Closes gh-10858
7 years ago
Phillip Webb c55b5d7111 Polish 7 years ago
Phillip Webb 44d8e09aac Polish endpoint parameter name discovery
Move logic from `ParameterNameMapper` into `ReflectiveOperationInvoker`
in order to reduce the surface area of the public API.

Also rename some classes for consistency.
7 years ago
Stephane Nicoll 74677629ff Remove handling of spring.git.properties
Closes gh-10857
7 years ago
Stephane Nicoll 9b6f0c83bf Add auto-configuration for DataSources
This commit automatically instruments all available data sources with
a configurable metric name. The instrumentation can be disabled in case
more control is needed.

Closes gh-10295
7 years ago
Stephane Nicoll dbb1e222ab Initialize only an embedded datasource by default
This commit renames spring.datasource.initialize to
spring.datasource.initialization-mode and use the
DataSourceInitializationMode enum. By default, only an embedded
datasource is initialized.

Closes gh-10773
7 years ago
Stephane Nicoll 56afc25304 Allow to customize the path of a web endpoint
This commit introduces a endpoints.<id>.web.path generic property that
allows to customize the path of an endpoint. By default the path is the
same as the id of the endpoint.

Such customization does not apply for the CloudFoundry specific
endpoints.

Closes gh-10181
7 years ago
Vedran Pavic ac10fa31cd Upgrade to Hazelcast 3.9
Closes gh-10764
7 years ago
Andy Wilkinson 2b426c30a6 Polish “Remove explicit type arguments”
Closes gh-10494
7 years ago
Johnny Lim 6168fae720 Remove explicit type arguments
See gh-10494
7 years ago
Andy Wilkinson a256602c7b Polish 7 years ago
Johnny Lim 44ae148ecd Polish
Closes gh-10700
7 years ago
Madhura Bhave df30d2fc10 Expose all endpoints under /cloudfoundryapplication
Regardless of whether the web endpoints have been enabled or not,
all endpoints for which beans are created need to be exposed in a
CF environment under /cloudfoundryapplication.

Closes gh-10673
7 years ago
Andy Wilkinson 688da652ac Polish 7 years ago
dreis2211 3b71393e0a Use Assert.state() with Supplier where possible
See gh-10658
7 years ago
Johnny Lim 5aa32b3d0f Polish
Closes gh-10636
7 years ago
Andy Wilkinson 0af4536316 Ensure media types are used consistently across endpoint mappings
Previously, the media types that are consumed and produced by
endpoints were configured in the web stack-specific configuration.
Furthermore, these configured media types were not used for the
discovery "endpoint" that links to all the available endpoints.

This commit introduces EndpointMediaTypes that is configred in a
single, central location and then used to configure the consumed and
produced media types for endpoints exposed via WebFlux, Web MVC, and
Jersey as well as the discovery "endpoint" provided by each.

Closes gh-10659
7 years ago
Madhura Bhave d307eba0a3 Add property to configure base-path for web endpoints.
Also, move properties corresponding to management server under
`management.server.*`.

Closes gh-10230
7 years ago
Spencer Gibb ce2058fa97 Change @ConditionalOnClass from Servlet to Flux
Update `ReactiveManagementContextAutoConfiguration` to check for a
`Flux` class rather than `Servlet`.

Closes gh-10590
7 years ago
Jon Schneider e2453a17c7 Add auto-configuration for exporting metrics to StatsD
Closes gh-10522
7 years ago
Jon Schneider ff636b58e1 Make the Graphite export protocol configurable
Closes gh-10523
7 years ago
Andy Wilkinson 7fc272df6e Start building against Micrometer snapshots for 1.0.0-rc.2 7 years ago
Andy Wilkinson 508aac084e Rename all Micrometer Clock beans: clock -> micrometerClock
Closes gh-10436
7 years ago
Phillip Webb b87f9c11f1 Fix POMs for the updated build/release process
Fix POMs following project relocations and apply CI friendly Maven
conventions.

See gh-9316
7 years ago
Phillip Webb 0ba4830b4f Relocate projects to spring-boot-project
Move projects to better reflect the way that Spring Boot is released.

The following projects are under `spring-boot-project`:

  - `spring-boot`
  - `spring-boot-autoconfigure`
  - `spring-boot-tools`
  - `spring-boot-starters`
  - `spring-boot-actuator`
  - `spring-boot-actuator-autoconfigure`
  - `spring-boot-test`
  - `spring-boot-test-autoconfigure`
  - `spring-boot-devtools`
  - `spring-boot-cli`
  - `spring-boot-docs`

See gh-9316
7 years ago