HDFS-7977. NFS couldn't take percentile intervals. Contributed by Brandon Li
(cherry picked from commit570a83ae80
) (cherry picked from commit260dbe96c3
)
This commit is contained in:
parent
cc5922607a
commit
14d1cccfad
|
@ -72,7 +72,6 @@ public class NfsConfigKeys {
|
||||||
public static final String NFS_HTTPS_ADDRESS_DEFAULT = "0.0.0.0:" + NFS_HTTPS_PORT_DEFAULT;
|
public static final String NFS_HTTPS_ADDRESS_DEFAULT = "0.0.0.0:" + NFS_HTTPS_PORT_DEFAULT;
|
||||||
|
|
||||||
public static final String NFS_METRICS_PERCENTILES_INTERVALS_KEY = "nfs.metrics.percentiles.intervals";
|
public static final String NFS_METRICS_PERCENTILES_INTERVALS_KEY = "nfs.metrics.percentiles.intervals";
|
||||||
public static final String NFS_METRICS_PERCENTILES_INTERVALS_DEFAULT = "";
|
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* HDFS super-user is the user with the same identity as NameNode process
|
* HDFS super-user is the user with the same identity as NameNode process
|
||||||
|
|
|
@ -90,9 +90,9 @@ public class Nfs3Metrics {
|
||||||
readNanosQuantiles[i] = registry.newQuantiles("readProcessNanos"
|
readNanosQuantiles[i] = registry.newQuantiles("readProcessNanos"
|
||||||
+ interval + "s", "Read process in ns", "ops", "latency", interval);
|
+ interval + "s", "Read process in ns", "ops", "latency", interval);
|
||||||
writeNanosQuantiles[i] = registry.newQuantiles("writeProcessNanos"
|
writeNanosQuantiles[i] = registry.newQuantiles("writeProcessNanos"
|
||||||
+ interval + "s", " process in ns", "ops", "latency", interval);
|
+ interval + "s", "Write process in ns", "ops", "latency", interval);
|
||||||
commitNanosQuantiles[i] = registry.newQuantiles("commitProcessNanos"
|
commitNanosQuantiles[i] = registry.newQuantiles("commitProcessNanos"
|
||||||
+ interval + "s", "Read process in ns", "ops", "latency", interval);
|
+ interval + "s", "Commit process in ns", "ops", "latency", interval);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -101,10 +101,9 @@ public class Nfs3Metrics {
|
||||||
MetricsSystem ms = DefaultMetricsSystem.instance();
|
MetricsSystem ms = DefaultMetricsSystem.instance();
|
||||||
JvmMetrics jm = JvmMetrics.create(gatewayName, sessionId, ms);
|
JvmMetrics jm = JvmMetrics.create(gatewayName, sessionId, ms);
|
||||||
|
|
||||||
// Percentile measurement is [,,,] by default
|
// Percentile measurement is [50th,75th,90th,95th,99th] currently
|
||||||
int[] intervals = conf.getInts(conf.get(
|
int[] intervals = conf
|
||||||
NfsConfigKeys.NFS_METRICS_PERCENTILES_INTERVALS_KEY,
|
.getInts(NfsConfigKeys.NFS_METRICS_PERCENTILES_INTERVALS_KEY);
|
||||||
NfsConfigKeys.NFS_METRICS_PERCENTILES_INTERVALS_DEFAULT));
|
|
||||||
return ms.register(new Nfs3Metrics(gatewayName, sessionId, intervals, jm));
|
return ms.register(new Nfs3Metrics(gatewayName, sessionId, intervals, jm));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -217,4 +216,4 @@ public class Nfs3Metrics {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
|
@ -927,6 +927,8 @@ Release 2.7.0 - UNRELEASED
|
||||||
|
|
||||||
HDFS-7961. Trigger full block report after hot swapping disk. (Eddy Xu via wang)
|
HDFS-7961. Trigger full block report after hot swapping disk. (Eddy Xu via wang)
|
||||||
|
|
||||||
|
HDFS-7977. NFS couldn't take percentile intervals (brandonli)
|
||||||
|
|
||||||
BREAKDOWN OF HDFS-7584 SUBTASKS AND RELATED JIRAS
|
BREAKDOWN OF HDFS-7584 SUBTASKS AND RELATED JIRAS
|
||||||
|
|
||||||
HDFS-7720. Quota by Storage Type API, tools and ClientNameNode
|
HDFS-7720. Quota by Storage Type API, tools and ClientNameNode
|
||||||
|
|
|
@ -170,6 +170,18 @@ It's strongly recommended for the users to update a few configuration properties
|
||||||
<value>the_name_of_hdfs_superuser</value>
|
<value>the_name_of_hdfs_superuser</value>
|
||||||
</property>
|
</property>
|
||||||
|
|
||||||
|
* Metrics. Like other HDFS daemons, the gateway exposes runtime metrics. It is available at `http://gateway-ip:50079/jmx` as a JSON document.
|
||||||
|
The NFS handler related metrics is exposed under the name "Nfs3Metrics". The latency histograms can be enabled by adding the following
|
||||||
|
property to hdfs-site.xml file.
|
||||||
|
|
||||||
|
<property>
|
||||||
|
<name>nfs.metrics.percentiles.intervals</name>
|
||||||
|
<value>100</value>
|
||||||
|
<description>Enable the latency histograms for read, write and
|
||||||
|
commit requests. The time unit is 100 seconds in this example.
|
||||||
|
</description>
|
||||||
|
</property>
|
||||||
|
|
||||||
* JVM and log settings. You can export JVM settings (e.g., heap size and GC log) in
|
* JVM and log settings. You can export JVM settings (e.g., heap size and GC log) in
|
||||||
HADOOP\_NFS3\_OPTS. More NFS related settings can be found in hadoop-env.sh.
|
HADOOP\_NFS3\_OPTS. More NFS related settings can be found in hadoop-env.sh.
|
||||||
To get NFS debug trace, you can edit the log4j.property file
|
To get NFS debug trace, you can edit the log4j.property file
|
||||||
|
|
Loading…
Reference in New Issue