Commit Graph

137 Commits

Author SHA1 Message Date
Dave Syer 60a4943520 Add support for metric export to OpenTSDB 2015-05-13 13:56:02 +01:00
Dave Syer 0bd845d183 Add support for Statsd metric export 2015-05-13 13:56:02 +01:00
Dave Syer 0fde04d325 Add AggregateMetricReader able to aggregate counters and gauges
Different physical sources for the same logical metric just need to
publish them with a period-separated prefix, and this reader will
aggregate (by truncating the metric names, dropping the prefix).

Very useful (for instance) if multiple application instances are
feeding to a central (e.g. redis) repository and you want to
display the results. Useful in conjunction with a
MetricReaderPublicMetrics for hooking up to the /metrics endpoint.
2015-05-13 13:56:01 +01:00
Dave Syer 53a61474aa Add counter and gauge services based on in-memory buffers
This seems pretty efficient (approx 12M write/s as opposed to 2M with
the DefaultCounterService). N.B. there is no need to change most of
the rest of the metrics stuff because metrics are write-often, read-
seldom, so we don't need high performance reads as much.

The Spring Integration configuration and Dropwizard support has changed
a bit. Functionally very similar and probably opaque to users, but now
the messaging operates as an Exporter on a @Scheduled method, and
Dropwizard is a replacement [Gauge,Counter]Service.

Metrics are all
collected live in-memory (and can be very fast with Java 8), buffered
there and shipped out to a MessageChannel (if one exists with id
"metricsChannel") in a background thread.

We can still use Java 8 library APIs (like LongAdder) but to compile
to java 7 compatible byte code we have to forgo the use of lambdas :-(
and shorthand generics (<>).

Fixes gh-2682, fixes gh-2513 (for Java 8 and Dropwizard users).
2015-05-13 13:56:01 +01:00
Andy Wilkinson 01b45d0c3a Merge branch '1.2.x' 2015-04-21 15:28:37 +01:00
izeye 68ed4dec9b Polish production ready features documentation
Closes gh-2832
2015-04-21 15:28:07 +01:00
Phillip Webb ed57adb5fe Update deployment documentation
Change the "cloud deployment" section to cover general "deployment" and
add documentation for init.d and systemd support.

Closes gh-1117
2015-04-09 10:57:40 -07:00
Phillip Webb 7c9ab5ced2 Minor documentation polish 2015-03-23 09:31:08 -07:00
Marcel Overdijk c0c67f2593 Update doc
Add note about escaping Spring property placeholders when using Gradle
automatic expansion.

Closes gh-2695
2015-03-22 10:07:44 +01:00
izeye 1493da1e03 Improve documentation
Closes gh-2553
2015-02-25 11:32:58 -08:00
Phillip Webb 56e31a8c6b Polish 2015-02-23 19:21:37 -08:00
StevenGeens dc97d56cb7 Update documentation on resources filtering
Add an explicit note about the spring-boot:run goal that prevents the use
of resources filtering by default.
2015-02-20 13:28:13 +01:00
Eric Dahl aa43f5e037 Update custom HealthIndicator documentation
Update the custom HealthIndicator documentation to use the build()
method rather than the old mechanism.

Fixes gh-2270
2014-12-31 18:53:58 -08:00
Stephane Nicoll 05d47c65db Fix wrong link
Closes gh-2223
2014-12-23 17:38:55 +01:00
John 62d3f73e24 Fix "heath" misspellings 2014-12-10 15:25:07 -08:00
Phillip Webb a27217ae43 Provide a way to opt-in to endpoint enablement
Update AbstractEndpoint so that the `enable` property is optional and
when it not specified the `endpoints.enabled` property will be used.

This allows users to switch the way that endpoints are enabled. Rather
than opting-out specific endpoint enablement the `endpoints.enabled`
property can be set to `false` and specific endpoints can be opted-in.

Fixes gh-2102
2014-12-10 12:39:34 -08:00
Phillip Webb 3e2433c842 Update health endpoint sensitive flag in docs 2014-12-10 12:39:34 -08:00
John 3343cd4c90 Fix typo in documentation 2014-12-10 07:49:13 -05:00
Phillip Webb e772174019 Update reference documentation for Spring Boot 1.2
Various updates and polish to prepare the reference documentation for
Spring Boot 1.2.

Fixes gh-1903
2014-12-10 00:56:41 -08:00
Phillip Webb e5295c0142 Update HealthInformation reference documentation
Clean and align with changes in Spring Boot 1.2

Fixes gh-2104
2014-12-10 00:51:30 -08:00
Phillip Webb 48db5457f1 Polish 2014-12-01 19:32:05 -08:00
Dave Syer 3bb598a421 Only hide /health details if the app is actually secure
Also gives the user the option to override (by setting
endpoints.health.sensitive=false).

Fixes gh-1977 in a slightly different way
2014-11-25 16:40:18 +00:00
Andy Wilkinson a708b28d9d Document restrictions when /health is accessed anonymously
Closes gh-1978
2014-11-25 12:22:23 +00:00
Stephane Nicoll 00961611b2 Move health.* properties to management.health.*
Fixes gh-1841
2014-11-07 07:20:34 +00:00
Phillip Webb edaed415fb Polish 2014-11-04 09:09:26 -08:00
Dave Syer 8be97fa47d Tweak docs on Maven resource filtering some more 2014-11-04 10:41:47 +00:00
Andy Wilkinson bd562c06b6 Merge branch '1.1.x' 2014-10-28 11:06:23 +00:00
Andy Wilkinson f58b8366e1 Correct the syntax that's used for smart single and double quotes
Fixes gh-1753
2014-10-28 11:03:35 +00:00
Andy Wilkinson 7211571969 Fix some grammar issues in docs
Closes gh-1695
2014-10-13 13:18:24 +01:00
Eric Dahl 16937746a0 Fix some grammar issues in docs 2014-10-13 12:22:14 +01:00
Phillip Webb 6281070d0a Merge branch '1.1.x'
Conflicts:
	spring-boot-docs/src/main/asciidoc/spring-boot-features.adoc
2014-10-09 13:00:27 -07:00
Phillip Webb 7e842aee77 Escape `...*...` outputs using `+...*...+` 2014-10-09 12:41:39 -07:00
Dave Syer 8ffe7ec4b8 Fix asciidoctor syntax problems and updgrade to asciidoctor 1.5
Points to note for authors:

* Nesting "*" in `literals` does not behave like Markdown - you have to
escape the asterisk (e.g. `foo/\*`)

* Quote ligatures (why we had to use those I don't really know) are
different in asciidoctor 1.5 ('`foo`' instead of ``foo'')

Merge branch '1.1.x'

Conflicts:
	spring-boot-docs/src/main/asciidoc/production-ready-features.adoc
	spring-boot-docs/src/main/asciidoc/spring-boot-features.adoc
2014-10-09 10:58:06 +01:00
Dave Syer 6a503d5ca9 Fix loads of asciidoc errors 2014-10-09 10:51:25 +01:00
Phillip Webb 6a423d7ad1 Add EmbeddedServerPortFileWriter
Add a EmbeddedServerPortFileWriter which can be used to write server
port information to a file.

Fixes gh-1275
Closes gh-1491
2014-10-08 23:03:35 -07:00
Phillip Webb 77ccd9a80b Rename ApplicationPidListener
Rename ApplicationPidListener to ApplicationPidFileWriter (keeping the
old class in a deprecated form)

Fixes gh-1673
2014-10-08 21:30:35 -07:00
Andy Wilkinson 97178915a4 Polish disk space health indicator
- Supply auto-configuration for the new indicator
 - As suggested in the pull request, include the free disk space and
   configured threshold in the health details
 - Update the documentation to describe the indicator and its
   two configuration settings
 - Use @ConfigurationProperties to bind the indicator's configuration.
   This should make the changes sympathetic to the work being done
   to automate the configuration properties documentation

Closes gh-1297
2014-10-08 17:24:38 +01:00
Phillip Webb 565e449d89 Merge branch '1.1.x'
Conflicts:
	spring-boot-docs/src/main/asciidoc/howto.adoc
2014-09-15 11:37:50 -07:00
Phillip Webb 5ba86a103d Polish 2014-09-15 11:35:16 -07:00
Andy Wilkinson 8deb88b3c0 Merge branch '1.1.x' 2014-09-15 16:40:42 +01:00
Andy Wilkinson 2ba2cfe23d Document build-time property expansion using Gradle
Closes gh-1540
2014-09-15 16:25:00 +01:00
Dave Syer bfab6b45f5 Merge branch '1.1.x' 2014-09-13 11:01:10 -05:00
Dave Syer 7828f2a5d3 Update docs on metrics names 2014-09-13 11:00:55 -05:00
Phillip Webb 5001b038cb Expose additional pool metrics
Expose `max` and `min`, alongside the existing `active` and `usage`
metrics.
2014-09-01 12:38:31 -07:00
Stephane Nicoll 53c4859a6a Reuse data source validation query in health endpoint
This commit improves DataSourceMetadata to expose the validation
query. This can be used by DataSourceHealthIndicator as the query
to use instead of "guessing" which query could be applied according
to the database type.

Fixes gh-1282
2014-08-29 14:58:01 +02:00
Stephane Nicoll 3dc932db88 DataSource metrics
This commit adds an abstraction that provides a standard manner to
retrieve various metadata that are shared by most data sources.

DataSourceMetadata is implemented by the three data source
implementations that boot supports out-of-the-box: Tomcat, Hikari and
Commons dbcp.

This abstraction is used to provide two additional metrics per data
source defined in the application: the number of allocated
connection(s) (.active) and the current usage of the connection pool
(.usage).

All such metrics share the 'datasource.' prefix. The prefix is further
qualified for each data source:

* If the data source is the primary data source (that is either the
  only available data source or the one flagged @Primary amongst the
  existing ones), the prefix is "datasource.primary"
* If the data source bean name ends with "dataSource", the prefix is
  the name of the bean without it (i.e. batchDataSource becomes batch)
* In all other cases, the name of the bean is used

It is possible to override part or all of those defaults by
registering a bean with a customized version of
DataSourcePublicMetrics.

Additional DataSourceMetadata implementations for other data source
types can be added very easily, check
DataourceMetadataProvidersConfiguration for more details.

Fixes gh-1013
2014-08-29 11:22:11 +02:00
Dave Syer 330be01984 Merge branch '1.1.x'
Conflicts:
	spring-boot-docs/src/main/asciidoc/production-ready-features.adoc
2014-08-13 08:23:43 -07:00
Dave Syer 481cf775d8 Refer explicitly to double asterix in metrics docs
Fixes gh-1358
2014-08-13 08:21:22 -07:00
Dave Syer e63bad3c4e Merge branch '1.1.x' 2014-08-13 08:19:33 -07:00
Dave Syer 0a3a00e9e5 Fix property keys in shell docs (consistent with appendix)
Fixes gh-1371
2014-08-13 08:18:42 -07:00
Phillip Webb 14c6243637 Refactor PublicMetrics registration
Rework flexible PublicMetrics registration introduced in 2be6b3e4 to
restore compatibility with v1.1 VanillaPublicMetrics. The new
MetricReaderPublicMetrics class now exposes metrics from a MetricReader
and VanillaPublicMetrics is deprecated. The MetricsEndpoint can now
exposes a collection of PublicMetric interface directly.

See gh-1094
2014-07-29 12:31:40 -07:00
Stephane Nicoll 2be6b3e419 Flexible registration of additional PublicMetrics
This commit permits the use of several PublicMetrics instances by
default. Previously, only one PublicMetrics service could be specified
and a user configuration would remove all the defaulting.

VanillaPublicMetrics now takes a collection of PublicMetrics and
invokes them in sequence to build the final collection of metrics.
The system-related metrics have been moved to SystemPublicMetrics and
are registered by default.

Also updated the documentation to mention this feature and how it
could be fully overridden.

Fixes gh-1094
2014-07-17 16:19:05 +02:00
Phillip Webb 62d2b4136a Polish documentation
Apply consistent styling and edit a few section for clarity.
2014-06-06 22:56:44 -07:00
Dave Syer c41fa08a80 Cross link Actuator and User Guide docs
Not having READMEs in github is a mistake IMO, so here's one
restored and with a link to the docs. Docs also updated to
more accurately reflect the location of the actuator features
in implementation.

See https://github.com/spring-guides/gs-actuator-service/pull/7
for the Getting started guide change

Fixes gh-1014
2014-06-04 14:27:29 +01:00
Christian Dupuis e104b34106 Fix HealthIndicator documentation
fixes #1018
2014-06-03 15:22:52 +02:00
Phillip Webb a3c359ab84 Remove trailing whitespace 2014-05-23 10:08:55 +01:00
Eric Dahl 3457cc4f39 Fix multiple typos in documentation, as well as "thread.deamon" typo in actuator 2014-05-22 21:18:08 -05:00
Christian Dupuis d20ed65c61 Update docs for new extended health support
fixes #930
2014-05-22 22:53:08 +02:00
Dave Syer 0dca2dd978 Small docs tweaks in metrics 2014-05-22 14:51:19 +01:00
Christian Dupuis 0402ed38f7 Update documentation to include note about RabbitMQ health support 2014-05-10 11:17:01 +02:00
Phillip Webb 1acffdf649 Polish 2014-05-09 08:52:11 +01:00
Christian Dupuis 893654bdd1 Update documentation for new HealthIndicator support 2014-05-08 16:21:06 +02:00
Stephane Nicoll a330cb9b8a Improve remote shell security documentation
Previous to this commit, the remote shell security configuration
described that a default password will be generated with no extra
configuration. Actually, when Spring Security is configured for the
application, the remote shell reuses that configuration by default.

It turns out that the default log message is confusing as it was
referring to "application endpoints". Updated that log to a more
generic log message and updated doc accordingly.

Fixes gh-779
2014-05-05 11:12:27 +02:00
Phillip Webb 6025f45aa0 Polish 2014-04-30 21:53:24 +01:00
Christian Dupuis a66fc3030e Add more runtime metrics like information about heap, class loading and threads to the metrics infrastructure 2014-04-30 15:22:56 +02:00
Dave Syer ef4e83a879 Move ErrorController to autoconfig 2014-04-29 15:23:29 +01:00
Phillip Webb fad5ce45db Polish 2014-04-23 12:35:33 +01:00
Lukasz Kryger 9907e70609 Minor documentation fixes 2014-04-16 10:48:36 +01:00
Dave Syer fb29a3c318 Expand Error Handling section in docs a bit
Fixes gh-513
2014-04-15 07:23:41 -07:00
Jakub Kubrynski 3ebaf11550 Extended documentation for applicaiton pid monitoring 2014-04-11 21:19:18 +02:00
Phillip Webb 2bb0f744e0 Polish 2014-04-06 21:49:12 -07:00
Dave Syer cc4ee653e3 Add separate section in "features" docs on Security
Lists all the basic autoconfig defaults and quick pointers on
how to change or disable.

Fixes gh-514
2014-04-03 17:47:40 +01:00
Dave Syer b10456a2f8 Refactor discussion of management.security.*
Really fixes gh-595
2014-04-03 15:58:10 +01:00
Dave Syer d119336f70 Explcitly state in docs that Spring Security is required
... if you use management.security.* properties

Fixes gh-595
2014-04-03 14:42:40 +01:00
Phillip Webb def4e60fa6 Fix typo in reference docs
The `management.contextpath` property should have been
`management.context-path`.

Fixes gh-612
2014-03-31 18:14:50 -07:00
Dave Syer 78d13c513c Correct property path for management.address
Fixes gh-558
2014-03-24 10:07:10 +00:00
Phillip Webb 47eb8180b3 Rename spring-boot-starter-shell -> remote-shell
Fixes gh-462
2014-03-21 09:05:56 -07:00
Phillip Webb 3193913899 Polish 2014-03-20 09:08:09 -07:00
Christian Dupuis d08d98492d Add Environment to shell context; disable shell banner if spring.main.show_banner is set to false 2014-03-20 15:23:24 +01:00
Christian Dupuis b760722234 Add endpoint command to shell
fixex #461
2014-03-20 11:05:27 +01:00
Phillip Webb 4024450c5f Rename `starter-shell-remote` to `starter-shell`
Fixes gh-462
2014-03-19 16:28:36 -07:00
Phillip Webb f0b6f6a516 Remove quotes from internal documentation links
Remove quote-marks from internal documentation links and instead favor
italics.
2014-03-17 14:14:45 -07:00
Stephane Nicoll 78f9afba90 Review first 8 parts of the doc
This commit mostly fixes typos but also improves slightly specific
areas, adding links when it make sense.
2014-03-17 12:39:30 -07:00
Phillip Webb 947b4f9d8f Add properties syntax highlighting for docs
Fixes gh-495
2014-03-17 00:04:57 -07:00
Phillip Webb d0275b4734 Fix some broken documentation links 2014-03-15 16:02:20 -07:00
Josh Long a1a62785be Add cloud deployment documentation
Add a "cloud deployment" section to the Spring Boot reference
manual.

See gh-295
2014-03-13 13:47:22 -07:00
Phillip Webb 163509b5e5 Add initial reference manual documentation
See gh-295
2014-03-13 13:47:22 -07:00