Метрики JMX и новая реликвия - PullRequest
0 голосов
/ 28 июня 2018

У нас есть новый агент реликвии для нашей конфигурации, чтобы получить представление и понять конфигурацию и захват метрик JMX. Наш новый CorDapp обнаруживается под нашей новой учетной записью. Однако единственные метрики, которые регистрируются и отображаются, являются общими и связаны с JVM.

Единственным исходным файлом, включающим аннотацию @MXBean, является HibernateStatistics.

Я вижу под мастером, что есть больше деталей относительно метрик и мониторинга.

Я предполагаю, что дополнительный захват метрики не происходил до тех пор, пока после V3.1.

Я просто хочу подтвердить, что мы не пропускаем что-то, и метрики должны на самом деле для потоков и транзакций.

1 Ответ

0 голосов
/ 03 июля 2018

В Corda 3.1 доступны только метрики, специфичные для Corda:

  • Количество вложений (net.corda:name=Attachments)
  • Скорость проверки контрольных точек (net.corda:type=Flows,name=Checkpointing Rate)
  • Количество запущенных потоков (net.corda:type=Flows,name=Started)
  • Количество потоков в полете (net.corda:type=Flows,name=InFlight)
  • Количество готовых потоков (net.corda:type=Flows,name=Finished)

Показатели Apache Artemis также доступны. Список открытых метрик можно найти здесь: https://docs.corda.net/node-administration.html#monitoring-your-node. Как вы заметили, будущие версии Corda расширят этот список метрик.

Метрики потока регистрируются, когда экземпляр StateMachineManager узла создается в StateMachineManagerImpl.kt, следующим образом:

// Monitoring support.
private val metrics = serviceHub.monitoringService.metrics

init {
    metrics.register("Flows.InFlight", Gauge<Int> { mutex.content.stateMachines.size })
}

private val checkpointingMeter = metrics.meter("Flows.Checkpointing Rate")
private val totalStartedFlows = metrics.counter("Flows.Started")
private val totalFinishedFlows = metrics.counter("Flows.Finished")
...