You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@geode.apache.org by ud...@apache.org on 2018/03/20 22:28:48 UTC
[geode] 05/05: A commit that I can demo.
This is an automated email from the ASF dual-hosted git repository.
udo pushed a commit to branch micrometer
in repository https://gitbox.apache.org/repos/asf/geode.git
commit e2cc32a809457e92d35ed8a10f54b168a1db2e24
Merge: df27f26 a6db167
Author: Udo <uk...@pivotal.io>
AuthorDate: Tue Mar 20 15:28:24 2018 -0700
A commit that I can demo.
.../bean/stats/RegionStatsJUnitTest.java | 1 +
.../statistics/TimedMicrometerClientStatsImpl.kt | 29 ++++++++++++++++++++++
2 files changed, 30 insertions(+)
diff --cc geode-protobuf/src/main/java/org/apache/geode/internal/protocol/protobuf/statistics/TimedMicrometerClientStatsImpl.kt
index 0000000,0000000..e9acac4
new file mode 100644
--- /dev/null
+++ b/geode-protobuf/src/main/java/org/apache/geode/internal/protocol/protobuf/statistics/TimedMicrometerClientStatsImpl.kt
@@@ -1,0 -1,0 +1,29 @@@
++package org.apache.geode.internal.protocol.protobuf.statistics
++
++import io.micrometer.core.instrument.MeterRegistry
++import io.micrometer.core.instrument.Tag
++import io.micrometer.core.instrument.Timer
++import org.apache.geode.internal.cache.CachePerfStats
++import org.apache.geode.internal.cache.MicroMeterRegistryFactory
++import java.util.concurrent.TimeUnit
++import java.util.concurrent.atomic.AtomicInteger
++
++class TimedMicrometerClientStatsImpl(meterRegistry: MeterRegistry) : MicrometerClientStatsImpl(meterRegistry) {
++
++ constructor() : this(MicroMeterRegistryFactory.getMeterRegistry())
++
++ private fun constructTimerForMetric(metricName: String): Timer =
++ meterRegistry.timer("${metricName}Latency", emptyList())
++
++ private val operationTimer = constructTimerForMetric("operation")
++
++ override fun startOperation(): Long = CachePerfStats.getStatTime()
++
++ override fun endOperation(startOperationTime: Long) {
++ updateTimer(startOperationTime, operationTimer)
++ }
++
++ private fun updateTimer(startTimeInNanos: Long, timer: Timer) {
++ timer.record((System.nanoTime() - startTimeInNanos), TimeUnit.NANOSECONDS)
++ }
++}
--
To stop receiving notification emails like this one, please contact
udo@apache.org.