- Updated to use ktor 3.0
- Removed warmup checks
- Removed
cohort-http
module. Instead these healthchecks can be found insidecohort-ktor
orcohort-vertx
depending on your choice of framework.
- Bumped versions of dependencies
- Added deployment logging on startup
- Renamed
cohort-core
tocohort-ktor
. - Added Vertx support.
- Refactor: use Kafka interfaces instead of implementations
- Fix: align compileJava and compileKotlin tasks target
- Feature: make it possible to register multiple instances of the same check
- Fix: DatabaseConnectionHealthCheck should return
Unhealthy
when connection is invalid - Fix: make the MongoConnectionHealthCheck usable with both sync and async clients
- Added
Listener
interface for registration and healthcheck events. - Deprecated the register methods that use a single delay parameter.
- Added
logHealthyStatus
option to logging subscribers
- Added new Kafka healthchecks:
KafkaConsumerRecordsConsumedRateHealthCheck
,KafkaConsumerRecordsConsumedHealthCheck
,KafkaConsumerTimeBetweenPollHealthCheck
- Deprecated
KafkaConsumerSubscriptionHealthCheck
- Renamed
cohort-redis
module tocohort-jedis
- Added
Log4j2HealthCheckLogging
andLogbackHealthCheckLogging
subscribers to log results of healthchecks
- Added
S3WriteBucketHealthCheck
- Added
ArrayCopyWarmup
- Added
EndpointStartupHealthCheck
- Added
HttpRequestWarmup
- Allow specifying the coroutine dispatcher when creating a
KafkaConsumerSubscriptionHealthCheck
. - Fixed incorrect message on the
ThreadStateHealthCheck
.
- Introduced new
WarmupRegistry
to allow warmups to specify duration instead of iteration counts. - Allow routes to be registered in any Ktor routing block
- Added
KafkaConsumerSubscriptionHealthCheck
- Added
close
method toHealthCheckRegistry
- Auto shutdown
HealthCheckRegistry
when JVM is terminating. - Added
FibonacciWarmup
,DataSourceConnectionWarmup
,RedisClusterConnectionWarmup
,JacksonMapperWarmup
.
- Fixed race condition with 2.0.x warmup starts
- Fixed micrometer metrics tag name for status tag
- Fixed Cohort plugin package name
- Added overloaded registry method
Minimum version of Kotlin is now 1.8
- Removed Ktor 1.x module, and merged Ktor 2.x module into the
cohort-core
module.- No additional dependencies are required for ktor.
- Added
HttpWarmup
,RedisConnectionWarmup
,FibWarmup
,JacksonWarmup
,DataSourceWarmup
warm up health checks which will execute for a period of time to warm the JVM / connections before reporting as healthy. These are intended to be used by startup probes in K8. - Added
HotSpotCompilationTimeHealthCheck
which will report healthy once Hotspot has performed a given amount of compilation. - Added
cohort-lettuce
module which contains Redis health and warmup checks using the Lettuce client, in contrast to thecohort-redis
module which uses the Jedis client. - Added
PulsarHealthCheck
for Apache Pulsar clusters. - Added
DynamoDBHealthCheck
for AWS Dynamo DB instances. - Changed TcpHealthCheck package name
- Fix logic with
errorOnYellow
in elastic cluster checks.
- Fixed S3 and SQS checks to close client correctly.
- Added
DatabaseConnectionHealthCheck
as a long term replacement forDatabaseHealthCheck
(which is now deprecated) for checking that aDataSource
can provide a connection and that the connection is valid. This variant uses the JDBC4isValid
method rather than executing an arbitrary query.
- Added
RabbitConnectionHealthCheck
which checks for connectivity to a RabbitMQ instance. - Added
MongoConnectionHealthCheck
which checks for connectivity to a MongoDB instance. - Added
SNSHealthCheck
which checks for connectivity to an AWS SNS instance. - Added
ElasticIndexHealthCheck
which checks for presence of a topic, with option to fail if the topic is empty. - Allow custom tags to be set on Cohort micrometer integration.
- Added better automatically generated health check names
- Removed
com.sksamuel
prefix from automatically generated health check names when sending to micrometer. - Fixed calculation bug in
GarbageCollectionTimeCheck
- Added
cohort-micrometer
module for sending healthcheck metrics to a micrometer registry.
- Added AWS
S3ReadBucketHealthCheck
- Added AWS
SQSQueueHealthCheck
- Deprecated Shutdown hooks in favour of built-in Ktor
onShutdown
. - Added arbitrary command support to redis health checks.
- Fixed dbcp package names.
- Added shutdown hooks
EngineShutdownHook
used for graceful shutdown of the ktor server- Added
endpointsPrefix
setting to config, to allow adjusting the namespace under which endpoints are registered - Added
autoEndpoints
option to allow installing the endpoints inside your own routing space - in order to support authentication, or other around advice. - Added eviction endpoint for datasources to evict idle connections
- Added new Kafka healthchecks:
KafkaConsumerRecordsConsumedRateHealthCheck
KafkaProducerRecordSendRateHealthCheck
KafkaConsumerLastPollTimeHealthCheck
- Added new
/cohort/memory
endpoint for reporting memory and buffer pool information - Added new database min idle connection healthchecks:
HikariMinIdleHealthCheck
DbcpMinIdleHealthCheck
- Added
MaxFileDescriptorsHealthCheck
- Added
ProcessCpuHealthCheck
- Updated Kakfa health checks to use
AdminClient
instead of props.
- Updated Elastic health checks to accept
RestHighLevelClient
instead of hostnames.
- Added support for Ktor2
- Added invariant that healthcheck register is not empty
- Added
logUnhealthy
option (default true) to log unhealthy checks - Added
startUnhealthy
option (default true) to HealthCheckRegistry that starts up all checks in failed mode
- Added
HttpHealthCheck
for testing connectivity to http endpoints. - Tweaked configuration settings for redis health checks
- Allow the Kafka client to be customized by passing in properties.
- Added healthcheck override that accepts a function
() -> Result<String>
- Added
/cohort/gc
endpoint
- First publicised release.