HADOOP-12201. Add tracing to FileSystem#createFileSystem and Globber#glob (cmccabe)
(cherry picked from commit b8832fcf1e
)
This commit is contained in:
parent
4227fff3c6
commit
016d661caf
|
@ -186,6 +186,9 @@ Release 2.8.0 - UNRELEASED
|
||||||
HADOOP-12195. Add annotation to package-info.java file to workaround
|
HADOOP-12195. Add annotation to package-info.java file to workaround
|
||||||
MCOMPILER-205. (wang)
|
MCOMPILER-205. (wang)
|
||||||
|
|
||||||
|
HADOOP-12201. Add tracing to FileSystem#createFileSystem and Globber#glob
|
||||||
|
(cmccabe)
|
||||||
|
|
||||||
OPTIMIZATIONS
|
OPTIMIZATIONS
|
||||||
|
|
||||||
HADOOP-11785. Reduce the number of listStatus operation in distcp
|
HADOOP-11785. Reduce the number of listStatus operation in distcp
|
||||||
|
|
|
@ -67,6 +67,9 @@ import org.apache.hadoop.util.Progressable;
|
||||||
import org.apache.hadoop.util.ReflectionUtils;
|
import org.apache.hadoop.util.ReflectionUtils;
|
||||||
import org.apache.hadoop.util.ShutdownHookManager;
|
import org.apache.hadoop.util.ShutdownHookManager;
|
||||||
import org.apache.hadoop.util.StringUtils;
|
import org.apache.hadoop.util.StringUtils;
|
||||||
|
import org.apache.htrace.Span;
|
||||||
|
import org.apache.htrace.Trace;
|
||||||
|
import org.apache.htrace.TraceScope;
|
||||||
|
|
||||||
import com.google.common.annotations.VisibleForTesting;
|
import com.google.common.annotations.VisibleForTesting;
|
||||||
|
|
||||||
|
@ -2676,10 +2679,19 @@ public abstract class FileSystem extends Configured implements Closeable {
|
||||||
|
|
||||||
private static FileSystem createFileSystem(URI uri, Configuration conf
|
private static FileSystem createFileSystem(URI uri, Configuration conf
|
||||||
) throws IOException {
|
) throws IOException {
|
||||||
Class<?> clazz = getFileSystemClass(uri.getScheme(), conf);
|
TraceScope scope = Trace.startSpan("FileSystem#createFileSystem");
|
||||||
FileSystem fs = (FileSystem)ReflectionUtils.newInstance(clazz, conf);
|
Span span = scope.getSpan();
|
||||||
fs.initialize(uri, conf);
|
if (span != null) {
|
||||||
return fs;
|
span.addKVAnnotation("scheme", uri.getScheme());
|
||||||
|
}
|
||||||
|
try {
|
||||||
|
Class<?> clazz = getFileSystemClass(uri.getScheme(), conf);
|
||||||
|
FileSystem fs = (FileSystem)ReflectionUtils.newInstance(clazz, conf);
|
||||||
|
fs.initialize(uri, conf);
|
||||||
|
return fs;
|
||||||
|
} finally {
|
||||||
|
scope.close();
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
/** Caching FileSystem objects */
|
/** Caching FileSystem objects */
|
||||||
|
|
|
@ -28,6 +28,10 @@ import org.apache.commons.logging.Log;
|
||||||
import org.apache.hadoop.classification.InterfaceAudience;
|
import org.apache.hadoop.classification.InterfaceAudience;
|
||||||
import org.apache.hadoop.classification.InterfaceStability;
|
import org.apache.hadoop.classification.InterfaceStability;
|
||||||
|
|
||||||
|
import org.apache.htrace.Span;
|
||||||
|
import org.apache.htrace.Trace;
|
||||||
|
import org.apache.htrace.TraceScope;
|
||||||
|
|
||||||
@InterfaceAudience.Private
|
@InterfaceAudience.Private
|
||||||
@InterfaceStability.Unstable
|
@InterfaceStability.Unstable
|
||||||
class Globber {
|
class Globber {
|
||||||
|
@ -136,6 +140,19 @@ class Globber {
|
||||||
}
|
}
|
||||||
|
|
||||||
public FileStatus[] glob() throws IOException {
|
public FileStatus[] glob() throws IOException {
|
||||||
|
TraceScope scope = Trace.startSpan("Globber#glob");
|
||||||
|
Span span = scope.getSpan();
|
||||||
|
if (span != null) {
|
||||||
|
span.addKVAnnotation("pattern", pathPattern.toUri().getPath());
|
||||||
|
}
|
||||||
|
try {
|
||||||
|
return doGlob();
|
||||||
|
} finally {
|
||||||
|
scope.close();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
private FileStatus[] doGlob() throws IOException {
|
||||||
// First we get the scheme and authority of the pattern that was passed
|
// First we get the scheme and authority of the pattern that was passed
|
||||||
// in.
|
// in.
|
||||||
String scheme = schemeFromPath(pathPattern);
|
String scheme = schemeFromPath(pathPattern);
|
||||||
|
|
Loading…
Reference in New Issue