Commit Graph

474 Commits (3c67edafcd4c527eab8ece1e8081d29bb59e1615)

Author SHA1 Message Date
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