Commit Graph

1749 Commits

Author SHA1 Message Date
Andy Wilkinson
41c297063b Record metrics for request handled by ParameterizableViewController
Closes gh-10335
2017-11-20 13:20:35 +00:00
Andy Wilkinson
331c7a1c56 Make handler Object available to WebMvcTagsProvider.httpRequestTags
Closes gh-11088
2017-11-20 13:18:48 +00:00
dreis2211
23da409b31 Remove duplicate words
Closes gh-11073
2017-11-18 09:17:30 +01:00
Johnny Lim
1783a072ad Remove explicit constructor super() calls
Closes gh-11068
2017-11-17 16:44:16 -08:00
Andy Wilkinson
4de208bc94 Provide reference documentation for Actuator web endpoints
Closes gh-8042
2017-11-17 11:27:16 +00:00
Johnny Lim
e8563c54dd Polish
Closes gh-11050
2017-11-17 09:56:16 +01:00
Johnny Lim
cbb483735d Polish
Closes gh-10948
2017-11-16 10:36:20 +01:00
Phillip Webb
9411d17649 Fix malformed javadoc 2017-11-15 17:07:16 -08:00
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
2017-11-15 14:41:38 -08:00
Andy Wilkinson
cf485ce144 Merge branch '1.5.x' 2017-11-15 19:43:32 +00:00
Andy Wilkinson
1a094598b8 Add an endpoint for retrieving information about scheduled tasks
Closes gh-8831
2017-11-15 13:28:38 +00:00
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
2017-11-12 11:19:14 +00:00
Andy Wilkinson
c7cac927f7 Bring spring-boot-actuator's README up to date
Closes gh-10686
2017-11-12 11:00:48 +00:00
Andy Wilkinson
2723892be3 Consistently include context id in endpoint responses
Closes gh-10980
2017-11-11 20:48:18 +00:00
Andy Wilkinson
07462be090 Polish 2017-11-11 16:29:12 +00:00
Phillip Webb
06b1b453a6 Limit when SystemEnvironment mapping is used
Update `SpringConfigurationPropertySource` so that the
`SystemEnvironmentPropertyMapper` is only used for the "actual" system
environment property source. This allows SystemEnvironmentProperySource
class to be used for other purposes (for example, Spring Cloud uses it
to as an override source providing decryption).

Only property sources named `systemEnvironment` or ending with
`-systemEnvironment` now have the `SystemEnvironmentPropertyMapper`
applied. The `TestPropertyValues` has been retrofitted to name the
source it adds appropriately.

Fixes gh-10840
2017-11-06 13:12:25 -08:00
Andy Wilkinson
723222aa95 Allow configuredLevel to be null when configuring a logger
Null value is used to indicate that the configured level should be
cleared.

Closes gh-10934
2017-11-06 12:27:39 +00:00
Andy Wilkinson
60afbdc868 Polish 2017-11-06 11:44:53 +00:00
Phillip Webb
cf17e5708b Polish Micrometer 1.0.0-rc.3 upgrade
Polish Micrometer 1.0.0-rc.3 upgrade changes.

Closes gh-10906
2017-11-03 23:47:51 -07:00
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
2017-11-03 23:37:25 -07:00
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
2017-11-03 19:07:23 -07:00
Phillip Webb
3f00ba3cad Polish 2017-11-03 00:13:02 -07:00
Madhura Bhave
d50fe8874f Add CF support for reactive actuators
Closes gh-10780
2017-11-02 18:00:55 -07:00
Phillip Webb
c55b5d7111 Polish 2017-11-01 23:14:52 -07:00
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.
2017-11-01 23:14:52 -07:00
Stephane Nicoll
350377c3f2 Polish "Handle AbstractReactiveHealthIndicator.doHealthCheck exception"
Closes gh-10822
2017-10-30 17:03:49 +01:00
Nikolay Rybak
99c2fa699e Handle AbstractReactiveHealthIndicator.doHealthCheck exception
Exceptions inside AbstractReactiveHealthIndicator.doHealthCheck()
method, outside of Mono pipeline, could fail whole endpoint
response instead of returning `DOWN` status from indicator.

See gh-10822
2017-10-30 16:53:25 +01:00
Stephane Nicoll
813a6966ef Merge branch '1.5.x' 2017-10-29 14:04:38 +01:00
Stephane Nicoll
555f51bfdb Fix checkstyle violation 2017-10-26 15:56:01 +02:00
Stephane Nicoll
00e0d61ee4 Use ParameterNameDiscoverer to detect operation's parameter names
Closes gh-10117
2017-10-26 15:13:00 +02:00
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
2017-10-26 14:36:14 +02:00
Vedran Pavic
ac10fa31cd Upgrade to Hazelcast 3.9
Closes gh-10764
2017-10-25 08:56:35 +02:00
Andy Wilkinson
2b426c30a6 Polish “Remove explicit type arguments”
Closes gh-10494
2017-10-24 14:44:26 +01:00
Johnny Lim
6168fae720 Remove explicit type arguments
See gh-10494
2017-10-24 14:44:20 +01:00
Andy Wilkinson
a256602c7b Polish 2017-10-24 14:41:03 +01:00
Andy Wilkinson
688da652ac Polish 2017-10-17 15:41:55 +01:00
dreis2211
3b71393e0a Use Assert.state() with Supplier where possible
See gh-10658
2017-10-17 15:35:59 +02:00
Johnny Lim
5aa32b3d0f Polish
Closes gh-10636
2017-10-17 15:29:13 +02:00
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
2017-10-17 12:47:45 +01:00
Andy Wilkinson
1bd44d89d6 Test metrics endpoint using tag available on Java 9 as well as 8
See gh-10524
2017-10-11 16:50:23 +01:00
Phillip Webb
22a6ee03eb Polish MetricsEndpoint
See gh-10535
2017-10-10 13:58:10 -07:00
Jon Schneider
37975836f0 Support composite registries in MetricsEndpoint
Update `MetricsEndpoint` to deal with `CompositeMeterRegistry`
instances.

Closes gh-10535
2017-10-10 13:57:51 -07:00
dreis2211
a76005e8d9 Remove concatenations with empty string
Closes gh-10512
2017-10-10 12:44:33 -07:00
Phillip Webb
748e0779b6 Update copyright year for changed files 2017-10-10 11:56:13 -07:00
Jon Schneider
bc05352290 Improve new metrics endpoint
- New repeatable tag query parameter to refine a query by one or more
  tag key/value pairs.
- Selecting a metric by name (and optionally a set of tags) reports
  statistics that are the sum of the statistics on all time series
  containing the name (and tags).

Closes gh-10524
2017-10-05 16:49:30 +01:00
Andy Wilkinson
7fc272df6e Start building against Micrometer snapshots for 1.0.0-rc.2 2017-10-05 16:48:31 +01:00
Phillip Webb
da0c4f5520 Increase endpoint integration test timeouts
Allow longer for test responses to be returned.

See gh-9316
2017-10-04 20:18:53 -07:00
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
2017-10-04 16:34:38 -07:00
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
2017-10-04 16:34:23 -07:00