465 Commits

Author SHA1 Message Date
Johnny Lim
c8c3f59e93 Polish
Closes gh-14884
2018-10-18 09:36:27 +02:00
Johnny Lim
7f9671fd14 Polish
Closes gh-14843
2018-10-16 11:38:51 +02:00
Andy Wilkinson
d49cc20e79 Rework CouchbaseReactiveHealthIndicator to use DiagnosticsReport
Closes gh-14799
2018-10-16 09:28:42 +01:00
Phillip Webb
d558a1a762 Merge branch '2.0.x' 2018-10-15 22:01:25 -07:00
Phillip Webb
a12a6f2ade Polish 2018-10-15 21:24:35 -07:00
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
2018-10-15 18:25:42 -07:00
Phillip Webb
a5dc004e0b Merge branch '2.0.x' 2018-10-15 15:43:31 -07:00
Phillip Webb
cd1c2638e5 Polish 2018-10-15 15:42:15 -07:00
Phillip Webb
f0f999a27d Merge branch '2.0.x' 2018-10-15 14:47:11 -07:00
Phillip Webb
5d219bcd19 Polish 2018-10-15 14:45:49 -07:00
Phillip Webb
734e9e4b74 Merge branch '2.0.x' 2018-10-15 14:22:44 -07:00
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
2018-10-15 14:20:16 -07:00
Phillip Webb
3665917d44 Merge branch '2.0.x' 2018-10-15 11:32:09 -07:00
Phillip Webb
c306e03112 Support '-' in endpoint names
Update the `EndpointId` constraints to allow '-' in names.

Closes gh-14773
2018-10-15 11:27:30 -07:00
Phillip Webb
9a80e88a73 Merge branch '2.0.x' 2018-10-15 09:52:09 -07:00
Phillip Webb
d8b9685635 Support '.' in endpoint names
Update the `EndpointId` constraints to allow '.' in names.

Closes gh-14773
2018-10-15 09:37:44 -07:00
Andy Wilkinson
a4eb636913 Merge branch '2.0.x' 2018-10-15 13:58:17 +01:00
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
2018-10-15 13:44:42 +01:00
Phillip Webb
cfa130b2ef Merge branch '2.0.x' 2018-10-14 19:14:04 -07:00
Hanope
535dd7470f Fix typo in EndpointIdTests
Closes gh-14822
2018-10-14 19:11:56 -07:00
Phillip Webb
18319ac276 Remove deprecated Endpoint ID methods
See gh-14773
2018-10-14 13:55:13 -07:00
Phillip Webb
1bf97e9b5e Merge branch '2.0.x' 2018-10-14 13:53:28 -07:00
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
2018-10-14 13:45:05 -07:00
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
2018-10-14 13:45:04 -07:00
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
2018-10-14 13:45:04 -07:00
Phillip Webb
c5786c218d Polish 2018-10-14 11:24:10 -07:00
Johnny Lim
c1ad1f7638 Fix copyright end years
Closes gh-14816
2018-10-14 14:13:19 +01:00
Andy Wilkinson
7ad94299d6 Stop relying on server customizer ordering for Tomcat metrics binding
Closes gh-14784
2018-10-13 11:52:51 +01:00
Andy Wilkinson
2b11ee4389 Auto-configure binding of Micrometer's JettyServerThreadPoolMetrics
Closes gh-14591
2018-10-13 11:52:51 +01:00
Brian Clozel
5607fcae85 Record URI pattern tag for WebFlux Fn metrics
This commit records URI tags for Spring WebFlux Fn applications for
`http.server.requests` metrics. This is possible since SPR-17098.

Closes gh-12757
2018-10-12 13:57:32 +02:00
Phillip Webb
b09057a73c Fix checkstyle violation
Fix unused import violation introduced during merge.
2018-10-11 17:55:41 -07:00
Phillip Webb
01f7805c19 Merge branch '2.0.x' 2018-10-11 16:19:29 -07:00
Phillip Webb
30ab4f9691 Polish "Stop MetricsEndpoint from summing up same metrics"
See gh-14497
2018-10-11 15:31:40 -07:00
pmehra
950480dc1c Stop MetricsEndpoint from summing up same metrics
Update `MetricsEndpoint` so that only the first matching meter is used
when calculating the sum of of statistics.

Prior this this commit the endpoint would consider all Meters. This
caused incorrect statistics when multiple back-end systems were being
used since the registries contained in the `CompositeMeterRegistry`
would be  iterated, and the same effective metric would be counted more
than once.

Closes gh-14497
2018-10-11 15:18:35 -07:00
artsiom
8f3b58fa98 Replace ReflectionTestUtils usage by hasFieldOrPropertyWithValue
Closes gh-14783
2018-10-11 17:49:37 +02:00
Andy Wilkinson
1d2f069580 Allow HttpTrace instances to be created
Previously, the API required to create HttpTrace instances was
package-private. This made it difficult to implement an
HttpTraceRepository that persists the HttpTrace instances
rather than holding them in memory as it inhibited recreation of the
instances when they read from the persistent store.

This commit adds public constructors to HttpTrace and related classes
to enable recreation of an HttpTrace. The package-private methods for
mutating properties have not been made public to ensure that the
public API remains immutable.

Closes gh-14726
2018-10-11 14:26:23 +01:00
Andy Wilkinson
73c6cc1b5d Merge branch '2.0.x' 2018-10-10 12:43:22 +01:00
Andy Wilkinson
839e686c9e Fix Checkstyle violation 2018-10-10 12:43:06 +01:00
Andy Wilkinson
467169aaaf Merge branch '2.0.x' 2018-10-10 12:20:58 +01:00
Andy Wilkinson
9e14fc6b8b Cope with hanging call to connection.start() in JmsHealthIndicator
Previously, if the call to connection.start() hung, JmsHealthIndicator
would also hang and then never respond.

This commit introduces the use of an additional thread that waits for
up to 5 seconds for the connection to start. If the call to start
does not complete within that time, the connection is closed. The
call to close causes the call to start to throw an exception, thereby
stopping the hang and allowing the indicator to report that the
broker is down.

Closes gh-10809
2018-10-10 12:20:34 +01:00
Andy Wilkinson
2216b78f1e Merge branch '2.0.x' 2018-10-08 15:53:09 +01:00
Andy Wilkinson
d3b3c8c64e Honour management.metrics.web.server.auto-time-requests with WebFlux
Closes gh-13895
2018-10-08 15:52:50 +01:00
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
2018-10-05 18:12:41 -07:00
Phillip Webb
01b8667dd7 Update copyright year for changed files 2018-10-05 13:40:07 -07:00
Stephane Nicoll
91b4dc2f69 Polish "Add reactive health indicator for Couchbase"
Closes gh-13926
2018-10-05 13:57:31 +02:00
Mikalai Lushchytski
20ff0d97e4 Add reactive health indicator for Couchbase
See gh-13926
2018-10-05 13:57:17 +02:00
Johnny Lim
335775892b Polish
See gh-14667
2018-10-03 13:57:18 +02:00
Phillip Webb
d76bba5e6f Migrate from ExpectedException rule to AssertJ
Replace ExpectedException JUnit rules with AssertJ exception
assertions.

Closes gh-14336
2018-10-02 10:55:28 -07:00
Stephane Nicoll
2d36a6f952 Merge branch '2.0.x' 2018-10-01 10:50:58 -04:00
Johnny Lim
1eca492c5e Polish
See gh-14621
2018-10-01 10:46:27 -04:00