Skip to content

Commit 5287564

Browse files
caojie09luyiisme
authored andcommitted
Report codecache metrics(#22)
* upgrade version 1.4.3 * report code cache usage.
1 parent be02be8 commit 5287564

File tree

17 files changed

+77
-15
lines changed

17 files changed

+77
-15
lines changed

client/lookout-api/pom.xml

+1-1
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@
55
<parent>
66
<groupId>com.alipay.sofa.lookout</groupId>
77
<artifactId>lookout-client-parent</artifactId>
8-
<version>1.4.2</version>
8+
<version>1.4.3</version>
99
<relativePath>../pom.xml</relativePath>
1010
</parent>
1111

client/lookout-client/pom.xml

+1-1
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@
66
<parent>
77
<groupId>com.alipay.sofa.lookout</groupId>
88
<artifactId>lookout-client-parent</artifactId>
9-
<version>1.4.2</version>
9+
<version>1.4.3</version>
1010
<relativePath>../pom.xml</relativePath>
1111
</parent>
1212

client/lookout-common/pom.xml

+1-1
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@
66
<parent>
77
<groupId>com.alipay.sofa.lookout</groupId>
88
<artifactId>lookout-client-parent</artifactId>
9-
<version>1.4.2</version>
9+
<version>1.4.3</version>
1010
<relativePath>../pom.xml</relativePath>
1111
</parent>
1212

client/lookout-core/pom.xml

+1-1
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@
66
<parent>
77
<groupId>com.alipay.sofa.lookout</groupId>
88
<artifactId>lookout-client-parent</artifactId>
9-
<version>1.4.2</version>
9+
<version>1.4.3</version>
1010
<relativePath>../pom.xml</relativePath>
1111
</parent>
1212

client/lookout-ext-jvm/pom.xml

+1-1
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@
66
<parent>
77
<groupId>com.alipay.sofa.lookout</groupId>
88
<artifactId>lookout-client-parent</artifactId>
9-
<version>1.4.2</version>
9+
<version>1.4.3</version>
1010
<relativePath>../pom.xml</relativePath>
1111
</parent>
1212

client/lookout-ext-jvm/src/main/java/com/alipay/lookout/jvm/JvmMemoryMetricsImporter.java

+53
Original file line numberDiff line numberDiff line change
@@ -20,20 +20,29 @@
2020
import com.alipay.lookout.api.Id;
2121
import com.alipay.lookout.api.Registry;
2222
import com.alipay.lookout.api.composite.MixinMetric;
23+
import com.alipay.lookout.common.log.LookoutLoggerFactory;
2324
import com.alipay.lookout.spi.MetricsImporter;
25+
import org.slf4j.Logger;
2426

2527
import java.lang.management.ManagementFactory;
28+
import java.lang.management.MemoryPoolMXBean;
29+
import java.util.List;
2630

2731
/**
2832
* Created by [email protected] on 2017/2/16.
2933
*/
3034
public class JvmMemoryMetricsImporter implements MetricsImporter {
35+
private static final Logger LOGGER = LookoutLoggerFactory
36+
.getLogger(JvmMemoryMetricsImporter.class);
37+
private static final String CODE_CACHE_NAME = "Code Cache";
38+
3139
@Override
3240
public void register(Registry registry) {
3341
Id id = registry.createId("jvm.memory");
3442
MixinMetric mixin = registry.mixinMetric(id);
3543
heapImport(mixin);
3644
nonheapImport(mixin);
45+
codeCacheImport(mixin);
3746
}
3847

3948
private void nonheapImport(MixinMetric mixin) {
@@ -90,4 +99,48 @@ public Long value() {
9099
}
91100
});
92101
}
102+
103+
private void codeCacheImport(MixinMetric mixin) {
104+
final MemoryPoolMXBean codeCacheMXBean = getCodeCacheMXBean();
105+
if (codeCacheMXBean == null) {
106+
LOGGER.info("can't get code cache MemoryPoolMXBean, won't report code cache usage.");
107+
return;
108+
}
109+
110+
mixin.gauge("codecache.init", new Gauge<Long>() {
111+
@Override
112+
public Long value() {
113+
return codeCacheMXBean.getUsage().getInit();
114+
}
115+
});
116+
mixin.gauge("codecache.used", new Gauge<Long>() {
117+
@Override
118+
public Long value() {
119+
return codeCacheMXBean.getUsage().getUsed();
120+
}
121+
});
122+
mixin.gauge("codecache.committed", new Gauge<Long>() {
123+
@Override
124+
public Long value() {
125+
return codeCacheMXBean.getUsage().getCommitted();
126+
}
127+
});
128+
mixin.gauge("codecache.max", new Gauge<Long>() {
129+
@Override
130+
public Long value() {
131+
return codeCacheMXBean.getUsage().getMax();
132+
}
133+
});
134+
}
135+
136+
private MemoryPoolMXBean getCodeCacheMXBean() {
137+
List<MemoryPoolMXBean> memoryPoolMXBeans = ManagementFactory.getMemoryPoolMXBeans();
138+
for (MemoryPoolMXBean memoryPoolMXBean : memoryPoolMXBeans) {
139+
if (CODE_CACHE_NAME.equals(memoryPoolMXBean.getName())) {
140+
return memoryPoolMXBean;
141+
}
142+
}
143+
144+
return null;
145+
}
93146
}

client/lookout-ext-jvm/src/test/java/com.alipay.lookout.jvm.memory/JvmInfoMetricsImporterTest.java

+9
Original file line numberDiff line numberDiff line change
@@ -77,6 +77,15 @@ public void testMemInfo() {
7777
Assert.assertTrue(gauge.value().longValue() >= 0);
7878
gauge = mixin.gauge("heap.max", null);
7979
Assert.assertTrue(gauge.value().longValue() >= -1);
80+
81+
gauge = mixin.gauge("codecache.init", null);
82+
Assert.assertTrue(gauge.value().longValue() >= 0);
83+
gauge = mixin.gauge("codecache.used", null);
84+
Assert.assertTrue(gauge.value().longValue() >= 0);
85+
gauge = mixin.gauge("codecache.committed", null);
86+
Assert.assertTrue(gauge.value().longValue() >= 0);
87+
gauge = mixin.gauge("codecache.max", null);
88+
Assert.assertTrue(gauge.value().longValue() >= -1);
8089
}
8190

8291
@Test

client/lookout-ext-os/pom.xml

+1-1
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@
55
<parent>
66
<groupId>com.alipay.sofa.lookout</groupId>
77
<artifactId>lookout-client-parent</artifactId>
8-
<version>1.4.2</version>
8+
<version>1.4.3</version>
99
<relativePath>../pom.xml</relativePath>
1010
</parent>
1111

client/lookout-reg-dropwizard/pom.xml

+1-1
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@
66
<parent>
77
<groupId>com.alipay.sofa.lookout</groupId>
88
<artifactId>lookout-client-parent</artifactId>
9-
<version>1.4.2</version>
9+
<version>1.4.3</version>
1010
<relativePath>../pom.xml</relativePath>
1111
</parent>
1212

client/lookout-reg-prometheus/pom.xml

+1-1
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@
66
<parent>
77
<groupId>com.alipay.sofa.lookout</groupId>
88
<artifactId>lookout-client-parent</artifactId>
9-
<version>1.4.2</version>
9+
<version>1.4.3</version>
1010
<relativePath>../pom.xml</relativePath>
1111
</parent>
1212

client/lookout-reg-server/pom.xml

+1-1
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@
66
<parent>
77
<groupId>com.alipay.sofa.lookout</groupId>
88
<artifactId>lookout-client-parent</artifactId>
9-
<version>1.4.2</version>
9+
<version>1.4.3</version>
1010
<relativePath>../pom.xml</relativePath>
1111
</parent>
1212

client/lookout-sofa-boot-starter/pom.xml

+1-1
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@
66
<parent>
77
<groupId>com.alipay.sofa.lookout</groupId>
88
<artifactId>lookout-client-parent</artifactId>
9-
<version>1.4.2</version>
9+
<version>1.4.3</version>
1010
<relativePath>../pom.xml</relativePath>
1111
</parent>
1212

client/pom.xml

+1-1
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@
55

66
<groupId>com.alipay.sofa.lookout</groupId>
77
<artifactId>lookout-client-parent</artifactId>
8-
<version>1.4.2</version>
8+
<version>1.4.3</version>
99
<packaging>pom</packaging>
1010
<name>${project.groupId}:${project.artifactId}</name>
1111
<description>It is a library which allows you to instrument your app with custom metrics</description>

client/samples/lookout-client-samples-boot/pom.xml

+1-1
Original file line numberDiff line numberDiff line change
@@ -21,7 +21,7 @@
2121
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
2222
<project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>
2323
<java.version>1.8</java.version>
24-
<lookout.client.version>1.4.2</lookout.client.version>
24+
<lookout.client.version>1.4.3</lookout.client.version>
2525
</properties>
2626

2727
<dependencies>

client/samples/lookout-client-samples-dropwizard-boot/pom.xml

+1-1
Original file line numberDiff line numberDiff line change
@@ -21,7 +21,7 @@
2121
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
2222
<project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>
2323
<java.version>1.8</java.version>
24-
<lookout.client.version>1.4.2</lookout.client.version>
24+
<lookout.client.version>1.4.3</lookout.client.version>
2525
</properties>
2626

2727
<dependencies>

client/samples/lookout-client-samples-java/pom.xml

+1-1
Original file line numberDiff line numberDiff line change
@@ -23,7 +23,7 @@
2323
<dependency>
2424
<groupId>com.alipay.sofa.lookout</groupId>
2525
<artifactId>lookout-client</artifactId>
26-
<version>1.4.2</version>
26+
<version>1.4.3</version>
2727
</dependency>
2828
<!-- log4j 2 for lookout client-->
2929
<dependency>

client/samples/lookout-client-samples-prometheus/pom.xml

+1-1
Original file line numberDiff line numberDiff line change
@@ -21,7 +21,7 @@
2121
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
2222
<project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>
2323
<java.version>1.8</java.version>
24-
<lookout.client.version>1.4.2</lookout.client.version>
24+
<lookout.client.version>1.4.3</lookout.client.version>
2525
</properties>
2626

2727
<dependencies>

0 commit comments

Comments
 (0)