Commit Graph

350 Commits

Author SHA1 Message Date
Andy Wilkinson e7176c63f5 Stop DataSource initialization from preventing Hikari instrumentation
Closes gh-12129
2018-02-21 10:32:41 +00:00
Stephane Nicoll e7db69be7a Polish
See gh-11869
2018-02-21 07:39:40 +01:00
Phillip Webb 349987d9be Switch show details default to ShowDetails.NEVER
Closes gh-11869
2018-02-20 16:43:11 -08:00
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
2018-02-20 16:27:15 -08:00
Phillip Webb aafa1e9615 Rename MetricsIntegrationAutoConfiguration
Rename `MetricsIntegrationAutoConfiguration` to
`IntegrationMetricsAutoConfiguration`.

Closes gh-12147
2018-02-20 16:25:51 -08:00
Phillip Webb 05faac2b09 Polish 2018-02-20 15:53:25 -08:00
Stephane Nicoll a7cccac0d0 Remove deprecation note for property that was renamed in 2.0 2018-02-20 18:57:25 +01:00
Stephane Nicoll 20f104766b Add missing default values for enums 2018-02-20 17:33:32 +01:00
Stephane Nicoll 45476961c1 Polish
See gh-12129
2018-02-20 17:02:03 +01:00
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
2018-02-20 16:25:51 +01:00
Stephane Nicoll 784372e6b3 Polish "Auto-configure metrics for Hikari"
Closes gh-12129
2018-02-20 13:24:45 +01:00
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
2018-02-20 13:22:42 +01:00
Andy Wilkinson 3e4baf744e Use role-based security to show details in the health endpoint
Closes gh-11869
2018-02-20 12:12:05 +00:00
Stephane Nicoll f19b43bacc Polish "Consistent prefix for datasource pool metrics"
Closes gh-12127
2018-02-20 10:07:00 +01:00
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
2018-02-19 20:25:47 -08:00
igor-suhorukov fe023817c7 Polish static finals
Closes gh-12083
2018-02-19 20:10:58 -08:00
Phillip Webb adf22d6e4a Polish 2018-02-19 19:54:10 -08:00
Andy Wilkinson 482ecc606c Polish 2018-02-19 22:46:31 +00:00
Andy Wilkinson 22bac1b54e Polish "Bind StatsD queue gauges"
Closes gh-12124
2018-02-19 21:24:24 +00:00
Jon Schneider 53e872bf4c Bind StatsD queue gauges
See gh-12124
2018-02-19 21:21:58 +00:00
Jon Schneider 9934285bca Remove destroy methods from auto-configured MeterRegistry beans
Closes gh-12121
2018-02-19 17:44:38 +00:00
Andy Wilkinson 73460a5b25 Use auto-configuration to create composite, not a BFPP
Closes gh-12122
2018-02-19 17:41:23 +00:00
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
2018-02-19 16:41:28 +01:00
Stephane Nicoll 202ed7b72b Polish 2018-02-19 16:20:56 +01:00
Stephane Nicoll cd0c81fe39 Restore prefix in ConditionalOnProperty 2018-02-19 15:46:39 +01:00
Andy Wilkinson c3a31fafe2 Remove tangle between actuate.endpoint and actuate.endpoint.invoke
See gh-11854
2018-02-19 13:04:23 +00:00
Stephane Nicoll 6c85ed70e4 Polish "Add SignalFxConfig source property"
Closes gh-12066
2018-02-19 10:53:25 +01:00
Jon Schneider a732053afd Add SignalFxConfig source property
See gh-12066
2018-02-19 10:49:43 +01:00
Stephane Nicoll 1dab83adaa Polish "Restore behavior of management.metrics.export.simple.enabled"
Closes gh-12106
2018-02-19 10:44:09 +01:00
Jon Schneider da759f29d0 Restore behavior of management.metrics.export.simple.enabled
See gh-12106
2018-02-19 10:08:22 +01:00
Phillip Webb 9e75680e6f Polish 2018-02-16 18:11:54 -08:00
Andy Wilkinson c1c162ab0c Polish "Add auto-configuraton for exporting metrics to Wavefront"
Closes gh-12068
2018-02-16 20:30:31 +00:00
Jon Schneider 142dbb2213 Add auto-configuration for exporting metrics to Wavefront
See gh-12068
2018-02-16 20:00:45 +00:00
Andy Wilkinson 17c7f027e0 Add details of the request mapping conditions to mappings endpoint
Closes gh-12080
2018-02-16 17:36:06 +00:00
Andy Wilkinson 2c19257d6d Add HandlerMethod and HandlerFunction details to mappings endpoint
Closes gh-11864
2018-02-16 17:08:47 +00:00
Stephane Nicoll 99466e7fa6 Polish 2018-02-16 14:04:44 +01:00
Andy Wilkinson fe4c8f95ed Rename ReactiveWebServerAutoConfiguration
Closes gh-12086
2018-02-16 10:02:35 +00:00
Andy Wilkinson e72506c353 Protect TomcatMetrics auto-config against early MeterBinder init
Closes gh-11916
2018-02-16 09:07:12 +00:00
Andy Wilkinson 83626c7c12 Polish metrics export auto-configuration tests 2018-02-15 10:46:11 +00:00
Jon Schneider d70594a2b1 Fix upstream micrometer renames
Fix for the rename of `HistogramConfig` to `DistributionStatisticConfig`

Closes gh-12030
2018-02-13 14:50:20 -08:00
Phillip Webb 6771cc9674 Polish 2018-02-13 14:41:12 -08:00
Andy Wilkinson d238a31d3d Polish 2018-02-13 17:50:40 +00:00
Andy Wilkinson 25520a9e32 Polish “Auto-configure FileDescriptorMetrics”
Closes gh-12022
2018-02-13 16:40:18 +00:00
Tommy Ludwig a51fcd071e Auto-configure FileDescriptorMetrics
See gh-12022
2018-02-13 16:40:18 +00:00
Tommy Ludwig 149963bc61 Auto-configure ClassLoaderMetrics
Auto-configure ClassLoaderMetrics as part of the JVM metrics from
Micrometer.

See gh-12022
2018-02-13 16:40:18 +00:00
Jon Schneider 49f21a2264 Remove unnecessary config options for JDBC, Rabbit, and Cache metrics
See gh-12017
2018-02-13 14:36:52 +01:00
Andy Wilkinson ce9b2b8266 Auto-configure Micrometer’s Tomcat metrics
Closes gh-11916
2018-02-13 12:47:25 +00:00
Andy Wilkinson 01b1c1d947 Perform failure analysis of MissingRequiredConfigurationException
Closes gh-12010
2018-02-13 11:35:18 +00:00
Stephane Nicoll 28f5392787 Polish "Add health indicator for reactive MongoDB"
Closes gh-11997
2018-02-13 11:22:04 +01:00
Yulin Qin eee2694648 Add health indicator for reactive MongoDB
See gh-11997
2018-02-13 11:22:04 +01:00
Andy Wilkinson a02fdc755e Stop MeterRegistries when context is closed
Closes gh-12006
2018-02-13 09:34:11 +00:00
Johnny Lim 87bf0b26df Polish modifier order
See gh-12019
2018-02-13 09:49:59 +01:00
Phillip Webb 3bec55e16c Formatting 2018-02-12 17:49:53 -08:00
Madhura Bhave 16a499b2fa Cloud Foundry health should always show details
Fixes gh-12014
2018-02-12 15:28:06 -08:00
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
2018-02-12 13:24:29 -08:00
Andy Wilkinson b0e86bd7ac Align New Relic and Signal FX tests with those for other exporters
Closes gh-11970
2018-02-12 20:43:56 +00:00
Andy Wilkinson 384a4ed6a9 Use metrics export.*.enabled properties to control auto-configuration
Closes gh-11978
2018-02-12 20:18:11 +00:00
Phillip Webb 0348889fd7 Polish 2018-02-12 10:03:06 -08:00
Andy Wilkinson e49d50fe9d Improve testing of metrics auto-configuration
Closes gh-11970
2018-02-12 17:05:05 +00:00
Johnny Lim 5a9865dabb Polish
Closes gh-12004
2018-02-12 17:10:43 +01:00
Stephane Nicoll 7473642f58 Harmonize endpoints exclude property
Closes gh-11914
2018-02-12 14:00:40 +01:00
Andy Wilkinson 037b6d8ba2 Auto-configure Micrometer's New Relic and SignalFX support
Closes gh-11803
2018-02-12 12:00:38 +00:00
Andy Wilkinson bc814d2039 Prevent authenticated principal from clashing with argument of same name
Closes gh-11988
2018-02-12 10:46:19 +00:00
Phillip Webb 63c827b14d Ensure exports are configured before endpoint
Update `SimpleMetricsExportAutoConfiguration` to ensure that it runs
before `SimpleMetricsExportAutoConfiguration`.

See gh-11977
2018-02-09 14:44:07 -08:00
Phillip Webb d259f68fbf Drop recordRequestPercentiles property
Drop the `recordRequestPercentiles` property as it overlaps with the
property based `MeterFilter` support.

Fixes gh-11982
2018-02-09 13:59:46 -08:00
Phillip Webb 601157f552 Polish "Add publishUnchangedMeters StatsD support"
Closes gh-11967
2018-02-09 12:09:45 -08:00
Jon Schneider e02eba2a33 Add publishUnchangedMeters StatsD support
Add configuration property to support publishing unchanged pollable
meters.

See gh-11967
2018-02-09 12:09:41 -08:00
Phillip Webb 3ec778fb64 Polish 2018-02-09 11:31:53 -08:00
Andy Wilkinson 351e1ec4de Ensure that metrics export backs off when there's no Clock
Closes gh-11977
2018-02-09 17:14:06 +00:00
Madhura Bhave e9fe918d25 Add option to skip ssl for reactive CF actuators
Fixes gh-10898
2018-02-09 08:46:29 -08:00
Andy Wilkinson fee9dacab1 Allow use of custom DatadogConfig without requiring api-key property
Closes gh-11979
2018-02-09 16:04:16 +00:00
Andy Wilkinson cc3d7648c1 Auto-configure Micrometer's Clock in a single place
Closes gh-11977
2018-02-09 15:26:10 +00:00
Stephane Nicoll 077d00fcb3 Polish 2018-02-09 16:07:58 +01:00
Andy Wilkinson 03d7c3a7af Repackage HTTP tracing auto-configuration classes
Closes gh-11934
2018-02-09 12:03:48 +00:00
Andy Wilkinson a6ecd55f1f Make expose and exclude properties affect servlet endpoints
Closes gh-11968
2018-02-09 11:24:18 +00:00
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
2018-02-09 10:56:15 +00:00
Phillip Webb 204f6f67fd Migrate all of metrics to auto-configuration
Migrate remaining metrics `@Configuration` classes to individual
auto-configurations.

Fixes gh-11935
2018-02-08 22:39:47 -08:00
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
2018-02-08 19:22:37 -08:00
Phillip Webb 5de46c3186 Polish 2018-02-08 16:35:10 -08:00
Phillip Webb 387804e600 Format with Eclipse Oxygen SR2 2018-02-08 15:44:32 -08:00
Andy Wilkinson 5522174e96 Provide package info for all packages included in javadoc 2018-02-08 16:50:37 +00:00
Andy Wilkinson dec37ec5e2 Move EndpointMapping into spring-boot-actuator 2018-02-08 15:13:27 +00:00
Andy Wilkinson 4beb6be179 Rename HTTP trace properties and packages
Closes gh-11934
2018-02-08 13:08:27 +00:00
Andy Wilkinson a09c64e18c Polish 2018-02-08 11:15:36 +00:00
Stephane Nicoll 7cd19822c6 Polish "Add Kafka health indicator"
Closes gh-11515
2018-02-08 11:58:42 +01:00
Juan Camilo Rada 0dbd9429cc Add Kafka health indicator
See gh-11515
2018-02-08 11:55:37 +01:00
Andy Wilkinson 76a450dfba Format with Eclipse Oxygen SR2 2018-02-08 10:53:53 +00:00
Madhura Bhave 7136bed126 Fix tests 2018-02-07 17:36:44 -08:00
Michael J. Simons 97a97f3784 Polish 2018-02-07 13:37:10 +00:00
Stephane Nicoll 63d2e944ba Polish "Add influx property to govern whether db is auto-created or not"
Closes gh-11922
2018-02-07 12:55:20 +01:00
Jon Schneider 9b215df4e9 Add influx property to govern whether db is auto-created or not 2018-02-07 12:55:20 +01:00
Andy Wilkinson 8229733f0d Avoid triggering early init when creating MeterRegistryPostProceesor
Closes gh-11890
2018-02-07 11:13:11 +00:00
Andy Wilkinson 8605499a64 Provide more control over when the health endpoint shows details
Closes gh-11869
2018-02-07 09:51:19 +00:00
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
2018-02-06 17:42:14 -08:00
Phillip Webb 6889ad59b8 Support property based MeterFilters
Add per-meter property support for `enabled`, `percentiles-histogram`,
`percentiles` and `sla`.

Fixes gh-11800
2018-02-06 13:21:27 -08:00
Andy Wilkinson 7d561f5ed0 Polish "Align with Micrometer's standardized cache metrics"
Closes gh-11918
2018-02-06 11:13:37 +00:00
Andy Wilkinson 2cc7325017 Polish 2018-02-02 20:51:14 +00:00
Andy Wilkinson 875091ed85 Polish “Remove or use unused method parameters”
Closes gh-11812
2018-02-02 09:34:19 +00:00
igor-suhorukov 717bd2c580 Remove or use unused method parameters 2018-02-02 09:34:19 +00:00
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
2018-02-01 16:38:15 -08:00