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/08/21 19:20:50 UTC

[geode] branch feature/Micrometer updated: fixing lib issues

This is an automated email from the ASF dual-hosted git repository.

udo pushed a commit to branch feature/Micrometer
in repository https://gitbox.apache.org/repos/asf/geode.git


The following commit(s) were added to refs/heads/feature/Micrometer by this push:
     new d6e4e8b  fixing lib issues
d6e4e8b is described below

commit d6e4e8bf1571f1f6b9569c02f43dc89e98a769ec
Author: Udo Kohlmeyer <uk...@pivotal.io>
AuthorDate: Tue Aug 21 12:20:36 2018 -0700

    fixing lib issues
---
 build.gradle                                       |  2 +
 geode-assembly/build.gradle                        |  9 ++++
 geode-core/build.gradle                            | 11 ++---
 geode-micrometer-stats/build.gradle.kts            |  6 ++-
 .../micrometer/impl/MicrometerStatisticsManager.kt | 51 ++++++++++++++--------
 5 files changed, 55 insertions(+), 24 deletions(-)

diff --git a/build.gradle b/build.gradle
index ab1c1a3..9c09b1c 100755
--- a/build.gradle
+++ b/build.gradle
@@ -17,6 +17,7 @@
 
 buildscript {
   repositories {
+    maven { url "file://home/ukohlmeyer/.m2/repository"}
     maven { url "https://plugins.gradle.org/m2/" }
     maven { url "https://dl.bintray.com/palantir/releases" }
     jcenter()
@@ -62,6 +63,7 @@ allprojects {
   repositories {
     mavenCentral()
     maven { url "http://repo.spring.io/release" }
+    maven { url 'file://home/ukohlmeyer/.m2/repository' }
   }
 
   group = "org.apache.geode"
diff --git a/geode-assembly/build.gradle b/geode-assembly/build.gradle
index 312151f..4ac5c35 100755
--- a/geode-assembly/build.gradle
+++ b/geode-assembly/build.gradle
@@ -66,6 +66,7 @@ configurations {
 
 dependencies {
   archives project(':geode-common')
+  archives project(':geode-stats-common')
   archives project(':geode-json')
   archives project(':geode-core')
   archives project(':geode-connectors')
@@ -225,6 +226,8 @@ def cp = {
         it.contains('lucene-queryparser') ||
         it.contains('lucene-analyzers-phonetic') ||
 
+        it.contains('micrometer-stats') ||
+
         // dependencies from geode-protobuf
         it.contains('protobuf-java') ||
 
@@ -374,6 +377,9 @@ distributions {
       into ('lib') {
         from project(":geode-common").configurations.runtime
         from project(":geode-common").configurations.archives.allArtifacts.files
+        
+        from project(":geode-stats-common").configurations.runtime
+        from project(":geode-stats-common").configurations.archives.allArtifacts.files
 
         from project(":geode-json").configurations.runtime
         from project(":geode-json").configurations.archives.allArtifacts.files
@@ -405,6 +411,9 @@ distributions {
         from project(":geode-rebalancer").configurations.runtime
         from project(":geode-rebalancer").configurations.archives.allArtifacts.files
 
+        from project(":geode-micrometer-stats").configurations.runtime
+        from project(":geode-micrometer-stats").configurations.archives.allArtifacts.files
+
         from configurations.bundled
         from configurations.gfshDependencies
 
diff --git a/geode-core/build.gradle b/geode-core/build.gradle
index 2a502bb..6e8b7e2 100755
--- a/geode-core/build.gradle
+++ b/geode-core/build.gradle
@@ -26,6 +26,7 @@ sourceSets {
     runtimeClasspath += configurations.runtime
   }
   main.kotlin.srcDirs += 'src/main/kotlin'
+  main.kotlin.srcDirs += 'src/main/java'
 }
 
 idea {
@@ -42,14 +43,14 @@ compileKotlin { kotlinOptions.jvmTarget = sourceCompatibility }
 compileTestKotlin { kotlinOptions.jvmTarget = sourceCompatibility }
 
 buildscript {
-  ext.kotlin_version = '1.2.60'
+  ext.kotlin_version = '1.2.61'
 
   repositories {
-    mavenCentral()
     mavenLocal()
-      maven {
-          url 'file:///home/ukohlmeyer/.m2/repository'
-      }
+    maven {
+      url "file://home/ukohlmeyer/.m2/repository"
+    }
+    mavenCentral()
   }
 
   dependencies {
diff --git a/geode-micrometer-stats/build.gradle.kts b/geode-micrometer-stats/build.gradle.kts
index dc11a7b..e0a734e 100644
--- a/geode-micrometer-stats/build.gradle.kts
+++ b/geode-micrometer-stats/build.gradle.kts
@@ -1,7 +1,7 @@
 import org.jetbrains.kotlin.gradle.tasks.KotlinCompile
 
 plugins {
-    kotlin("jvm") version "1.2.60"
+    kotlin("jvm") version "1.2.61"
 }
 
 group = "org.apache.geode"
@@ -17,11 +17,13 @@ repositories {
 dependencies {
     compile( project(":geode-stats-common"))
     compile(kotlin("stdlib-jdk8"))
+    compile(kotlin("stdlib"))
+    compile(kotlin("reflect"))
     compile(group = "io.micrometer", name = "micrometer-core", version = "1.0.6")
     compile(group = "io.micrometer", name = "micrometer-registry-influx", version = "1.0.6")
     compile(group = "io.micrometer", name = "micrometer-registry-jmx", version = "1.0.6")
     compile(group = "io.micrometer", name = "micrometer-registry-prometheus", version = "1.0.6")
-//    implementation(group = "test", name = "micrometer-stats", version = "1.0-SNAPSHOT")
+    compile(group = "test", name = "micrometer-stats", version = "1.0-SNAPSHOT")
 
 }
 
diff --git a/geode-micrometer-stats/src/main/kotlin/org/apache/geode/statistics/internal/micrometer/impl/MicrometerStatisticsManager.kt b/geode-micrometer-stats/src/main/kotlin/org/apache/geode/statistics/internal/micrometer/impl/MicrometerStatisticsManager.kt
index cabd102..f769ca5 100644
--- a/geode-micrometer-stats/src/main/kotlin/org/apache/geode/statistics/internal/micrometer/impl/MicrometerStatisticsManager.kt
+++ b/geode-micrometer-stats/src/main/kotlin/org/apache/geode/statistics/internal/micrometer/impl/MicrometerStatisticsManager.kt
@@ -14,13 +14,25 @@ import io.micrometer.core.instrument.binder.system.UptimeMetrics
 import io.micrometer.core.instrument.composite.CompositeMeterRegistry
 import io.micrometer.core.instrument.config.MeterFilter
 import io.micrometer.core.instrument.config.MeterFilterReply
+import io.micrometer.influx.InfluxConfig
+import io.micrometer.influx.InfluxMeterRegistry
+import io.micrometer.jmx.JmxConfig
+import io.micrometer.jmx.JmxMeterRegistry
 import io.micrometer.prometheus.PrometheusConfig
 import io.micrometer.prometheus.PrometheusMeterRegistry
+import io.pivotal.gemfire.micrometer.binder.LoadAvgMetrics
+import io.pivotal.gemfire.micrometer.binder.MemInfoMetrics
+import io.pivotal.gemfire.micrometer.binder.StatMetrics
+import io.pivotal.gemfire.micrometer.procOS.ProcOSLoadAvg
+import io.pivotal.gemfire.micrometer.procOS.ProcOSMemInfo
+import io.pivotal.gemfire.micrometer.procOS.ProcOSReaderFactory
+import io.pivotal.gemfire.micrometer.procOS.ProcOSStat
 import org.apache.geode.statistics.internal.micrometer.StatisticsManager
 import org.apache.geode.statistics.internal.micrometer.StatisticsMeterGroup
 import java.io.IOException
 import java.lang.management.ManagementFactory
 import java.net.InetSocketAddress
+import java.time.Duration
 
 object MicrometerStatisticsManager : StatisticsManager {
 
@@ -53,10 +65,10 @@ object MicrometerStatisticsManager : StatisticsManager {
         FileDescriptorMetrics().bindTo(meterRegistry)
         ProcessorMetrics().bindTo(meterRegistry)
         UptimeMetrics().bindTo(meterRegistry)
-//        val procOSReaderFactory = ProcOSReaderFactory()
-//        LoadAvgMetrics(procOSLoadAvg = ProcOSLoadAvg(procOSReaderFactory.getInstance(LoadAvgMetrics.LOAD_AVG)))
-//        MemInfoMetrics(procOSMemInfo = ProcOSMemInfo(procOSReaderFactory.getInstance(MemInfoMetrics.MEM_INFO)))
-//        StatMetrics(procOSStat = ProcOSStat(procOSReaderFactory.getInstance(StatMetrics.STAT)))
+        val procOSReaderFactory = ProcOSReaderFactory()
+        LoadAvgMetrics(procOSLoadAvg = ProcOSLoadAvg(procOSReaderFactory.getInstance(LoadAvgMetrics.LOAD_AVG))).bindTo(meterRegistry)
+        MemInfoMetrics(procOSMemInfo = ProcOSMemInfo(procOSReaderFactory.getInstance(MemInfoMetrics.MEM_INFO))).bindTo(meterRegistry)
+        StatMetrics(procOSStat = ProcOSStat(procOSReaderFactory.getInstance(StatMetrics.STAT))).bindTo(meterRegistry)
     }
 
     override fun registerMeterRegistry(meterRegistry: MeterRegistry) {
@@ -87,24 +99,29 @@ object MicrometerStatisticsManager : StatisticsManager {
 
     private fun createCompositeRegistry(): CompositeMeterRegistry {
         val compositeMeterRegistry = CompositeMeterRegistry(Clock.SYSTEM)
-//        compositeMeterRegistry.add(createInfluxDB())
+        compositeMeterRegistry.add(createInfluxDB())
         compositeMeterRegistry.add(createPrometheus())
-//        compositeMeterRegistry.add(createJMX())
+        compositeMeterRegistry.add(createJMX())
         return compositeMeterRegistry
     }
 
-//    private fun createJMX(): JmxMeterRegistry {
-//        return JmxMeterRegistry(JmxConfig { null }, Clock.SYSTEM)
-//    }
+    private fun createJMX(): JmxMeterRegistry {
+        val config = object : JmxConfig {
+            override fun step(): Duration = Duration.ofSeconds(10)
+            override fun get(k: String): String? = null
+            override fun domain(): String = "geodeMetrics"
+        }
+        return JmxMeterRegistry(config, Clock.SYSTEM)
+    }
 
-//    private fun createInfluxDB(): InfluxMeterRegistry {
-//        val config = object : InfluxConfig {
-//            override fun step(): Duration = Duration.ofSeconds(1)
-//            override fun db(): String = "mydb2"
-//            override fun get(k: String): String? = null
-//        }
-//        return InfluxMeterRegistry(config, Clock.SYSTEM)
-//    }
+    private fun createInfluxDB(): InfluxMeterRegistry {
+        val config = object : InfluxConfig {
+            override fun step(): Duration = Duration.ofSeconds(10)
+            override fun db(): String = "mydb3"
+            override fun get(k: String): String? = null
+        }
+        return InfluxMeterRegistry(config, Clock.SYSTEM)
+    }
 
     private fun createPrometheus(): PrometheusMeterRegistry {
         val prometheusRegistry = PrometheusMeterRegistry(PrometheusConfig.DEFAULT)