mirror of
https://github.com/corda/corda.git
synced 2025-04-29 15:30:10 +00:00
Raft JMX reporting: initialize after server is created
This commit is contained in:
parent
0831fdfd4f
commit
b6e8b05dea
@ -46,7 +46,7 @@ import javax.persistence.Lob
|
|||||||
* to the cluster leader to be actioned.
|
* to the cluster leader to be actioned.
|
||||||
*/
|
*/
|
||||||
@ThreadSafe
|
@ThreadSafe
|
||||||
class RaftUniquenessProvider(services: ServiceHubInternal) : UniquenessProvider, SingletonSerializeAsToken() {
|
class RaftUniquenessProvider(private val services: ServiceHubInternal) : UniquenessProvider, SingletonSerializeAsToken() {
|
||||||
companion object {
|
companion object {
|
||||||
private val log = loggerFor<RaftUniquenessProvider>()
|
private val log = loggerFor<RaftUniquenessProvider>()
|
||||||
|
|
||||||
@ -97,20 +97,6 @@ class RaftUniquenessProvider(services: ServiceHubInternal) : UniquenessProvider,
|
|||||||
private lateinit var server: CopycatServer
|
private lateinit var server: CopycatServer
|
||||||
|
|
||||||
|
|
||||||
init {
|
|
||||||
services.monitoringService.metrics.register("RaftCluster.ThisServerStatus", Gauge<String> {
|
|
||||||
server.state().name
|
|
||||||
})
|
|
||||||
|
|
||||||
services.monitoringService.metrics.register("RaftCluster.MembersCount", Gauge<Int> {
|
|
||||||
server.cluster().members().size
|
|
||||||
})
|
|
||||||
|
|
||||||
services.monitoringService.metrics.register("RaftCluster.Members", Gauge<List<String>> {
|
|
||||||
server.cluster().members().map { it.address().toString() }
|
|
||||||
})
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Copycat clients are responsible for connecting to the cluster and submitting commands and queries that operate
|
* Copycat clients are responsible for connecting to the cluster and submitting commands and queries that operate
|
||||||
* on the cluster's replicated state machine.
|
* on the cluster's replicated state machine.
|
||||||
@ -165,6 +151,8 @@ class RaftUniquenessProvider(services: ServiceHubInternal) : UniquenessProvider,
|
|||||||
server.bootstrap()
|
server.bootstrap()
|
||||||
}
|
}
|
||||||
|
|
||||||
|
registerMonitoring()
|
||||||
|
|
||||||
val client = CopycatClient.builder(address)
|
val client = CopycatClient.builder(address)
|
||||||
.withTransport(transport) // TODO: use local transport for client-server communications
|
.withTransport(transport) // TODO: use local transport for client-server communications
|
||||||
.withConnectionStrategy(ConnectionStrategies.EXPONENTIAL_BACKOFF)
|
.withConnectionStrategy(ConnectionStrategies.EXPONENTIAL_BACKOFF)
|
||||||
@ -196,6 +184,21 @@ class RaftUniquenessProvider(services: ServiceHubInternal) : UniquenessProvider,
|
|||||||
.build()
|
.build()
|
||||||
}
|
}
|
||||||
|
|
||||||
|
private fun registerMonitoring() {
|
||||||
|
services.monitoringService.metrics.register("RaftCluster.ThisServerStatus", Gauge<String> {
|
||||||
|
server.state().name
|
||||||
|
})
|
||||||
|
|
||||||
|
services.monitoringService.metrics.register("RaftCluster.MembersCount", Gauge<Int> {
|
||||||
|
server.cluster().members().size
|
||||||
|
})
|
||||||
|
|
||||||
|
services.monitoringService.metrics.register("RaftCluster.Members", Gauge<List<String>> {
|
||||||
|
server.cluster().members().map { it.address().toString() }
|
||||||
|
})
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
override fun commit(states: List<StateRef>, txId: SecureHash, callerIdentity: Party) {
|
override fun commit(states: List<StateRef>, txId: SecureHash, callerIdentity: Party) {
|
||||||
val entries = states.mapIndexed { i, stateRef -> stateRef to UniquenessProvider.ConsumingTx(txId, i, callerIdentity) }
|
val entries = states.mapIndexed { i, stateRef -> stateRef to UniquenessProvider.ConsumingTx(txId, i, callerIdentity) }
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user