Skip to content

Commit

Permalink
HIVE-17086: LLAP: JMX Metric for max file descriptors used so far (Pr…
Browse files Browse the repository at this point in the history
…asanth Jayachandran reviewed by Gopal V)
  • Loading branch information
prasanthj committed Jul 14, 2017
1 parent 4514ec9 commit 6e18225
Show file tree
Hide file tree
Showing 2 changed files with 7 additions and 3 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -37,7 +37,8 @@ public enum LlapDaemonJvmInfo implements MetricsInfo {
LlapDaemonMappedBufferTotalCapacity("Estimate of total capacity of all mapped byte buffers in bytes"),
LlapDaemonMappedBufferMemoryUsed("Estimate of memory that JVM is using for mapped byte buffers in bytes"),
LlapDaemonOpenFileDescriptorCount("Number of open file descriptors"),
LlapDaemonMaxFileDescriptorCount("Maximum number of file descriptors"),
LlapDaemonMaxFileDescriptorCount("Maximum number of file descriptors used so far"),
LlapDaemonLimitFileDescriptorCount("Limit for file descriptors allowed by system"),
LlapDaemonResidentSetSize("Resident memory (RSS) used by llap daemon process in bytes"),
LlapDaemonVirtualMemorySize("Virtual memory (VMEM) used by llap daemon process in bytes")
;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -24,6 +24,7 @@
import static org.apache.hadoop.hive.llap.metrics.LlapDaemonJvmInfo.LlapDaemonMappedBufferCount;
import static org.apache.hadoop.hive.llap.metrics.LlapDaemonJvmInfo.LlapDaemonMappedBufferMemoryUsed;
import static org.apache.hadoop.hive.llap.metrics.LlapDaemonJvmInfo.LlapDaemonMappedBufferTotalCapacity;
import static org.apache.hadoop.hive.llap.metrics.LlapDaemonJvmInfo.LlapDaemonLimitFileDescriptorCount;
import static org.apache.hadoop.hive.llap.metrics.LlapDaemonJvmInfo.LlapDaemonMaxFileDescriptorCount;
import static org.apache.hadoop.hive.llap.metrics.LlapDaemonJvmInfo.LlapDaemonOpenFileDescriptorCount;
import static org.apache.hadoop.hive.llap.metrics.LlapDaemonJvmInfo.LlapDaemonResidentSetSize;
Expand All @@ -38,7 +39,6 @@

import org.apache.hadoop.conf.Configuration;
import org.apache.hadoop.hive.llap.LlapDaemonInfo;
import org.apache.hadoop.hive.llap.daemon.impl.LlapDaemon;
import org.apache.hadoop.metrics2.MetricsCollector;
import org.apache.hadoop.metrics2.MetricsRecordBuilder;
import org.apache.hadoop.metrics2.MetricsSource;
Expand All @@ -60,6 +60,7 @@ public class LlapDaemonJvmMetrics implements MetricsSource {
private final MetricsRegistry registry;
private final ResourceCalculatorProcessTree processTree;
private final String daemonPid = LlapDaemonInfo.INSTANCE.getPID();
private long maxOpenFdCountSoFar = 0;

private LlapDaemonJvmMetrics(String displayName, String sessionId, final Configuration conf) {
this.name = displayName;
Expand Down Expand Up @@ -116,6 +117,7 @@ private void getJvmMetrics(final MetricsRecordBuilder rb) {
if(os instanceof UnixOperatingSystemMXBean){
openFileHandles = ((UnixOperatingSystemMXBean) os).getOpenFileDescriptorCount();
maxFileHandles = ((UnixOperatingSystemMXBean) os).getMaxFileDescriptorCount();
maxOpenFdCountSoFar = openFileHandles > maxOpenFdCountSoFar ? openFileHandles : maxOpenFdCountSoFar;
}
long rss = 0;
long vmem = 0;
Expand All @@ -130,7 +132,8 @@ private void getJvmMetrics(final MetricsRecordBuilder rb) {
.addGauge(LlapDaemonMappedBufferTotalCapacity, mappedBufferTotalCapacity)
.addGauge(LlapDaemonMappedBufferMemoryUsed, mappedBufferMemoryUsed)
.addGauge(LlapDaemonOpenFileDescriptorCount, openFileHandles)
.addGauge(LlapDaemonMaxFileDescriptorCount, maxFileHandles)
.addGauge(LlapDaemonMaxFileDescriptorCount, maxOpenFdCountSoFar)
.addGauge(LlapDaemonLimitFileDescriptorCount, maxFileHandles)
.addGauge(LlapDaemonResidentSetSize, rss)
.addGauge(LlapDaemonVirtualMemorySize, vmem);
}
Expand Down

0 comments on commit 6e18225

Please sign in to comment.