HADOOP-12183. Annotate the HTrace span created by FsShell with the command-line arguments passed by the user (Masatake Iwasaki via Colin P. McCabe)
This commit is contained in:
parent
21d10ccc6e
commit
454da959c7
|
@ -739,6 +739,10 @@ Release 2.8.0 - UNRELEASED
|
|||
|
||||
HADOOP-11807. add a lint mode to releasedocmaker (ramtin via aw)
|
||||
|
||||
HADOOP-12183. Annotate the HTrace span created by FsShell with the
|
||||
command-line arguments passed by the user (Masatake Iwasaki via Colin P.
|
||||
McCabe)
|
||||
|
||||
OPTIMIZATIONS
|
||||
|
||||
HADOOP-11785. Reduce the number of listStatus operation in distcp
|
||||
|
|
|
@ -35,6 +35,7 @@ import org.apache.hadoop.fs.shell.FsCommand;
|
|||
import org.apache.hadoop.tracing.SpanReceiverHost;
|
||||
import org.apache.hadoop.tools.TableListing;
|
||||
import org.apache.hadoop.tracing.TraceUtils;
|
||||
import org.apache.hadoop.util.StringUtils;
|
||||
import org.apache.hadoop.util.Tool;
|
||||
import org.apache.hadoop.util.ToolRunner;
|
||||
import org.apache.htrace.Sampler;
|
||||
|
@ -298,6 +299,13 @@ public class FsShell extends Configured implements Tool {
|
|||
throw new UnknownCommandException();
|
||||
}
|
||||
TraceScope scope = Trace.startSpan(instance.getCommandName(), traceSampler);
|
||||
if (scope.getSpan() != null) {
|
||||
String args = StringUtils.join(" ", argv);
|
||||
if (args.length() > 2048) {
|
||||
args = args.substring(0, 2048);
|
||||
}
|
||||
scope.getSpan().addKVAnnotation("args", args);
|
||||
}
|
||||
try {
|
||||
exitCode = instance.run(Arrays.copyOfRange(argv, 1, argv.length));
|
||||
} finally {
|
||||
|
|
|
@ -24,6 +24,7 @@ import org.apache.hadoop.tracing.SpanReceiverHost;
|
|||
import org.apache.hadoop.util.ToolRunner;
|
||||
import org.apache.htrace.SamplerBuilder;
|
||||
import org.apache.htrace.impl.AlwaysSampler;
|
||||
import org.junit.Assert;
|
||||
import org.junit.Test;
|
||||
|
||||
public class TestFsShell {
|
||||
|
@ -57,10 +58,13 @@ public class TestFsShell {
|
|||
FsShell shell = new FsShell(conf);
|
||||
int res;
|
||||
try {
|
||||
res = ToolRunner.run(shell, new String[]{"-help"});
|
||||
res = ToolRunner.run(shell, new String[]{"-help", "ls", "cat"});
|
||||
} finally {
|
||||
shell.close();
|
||||
}
|
||||
SetSpanReceiver.assertSpanNamesFound(new String[]{"help"});
|
||||
Assert.assertEquals("-help ls cat",
|
||||
SetSpanReceiver.getMap()
|
||||
.get("help").get(0).getKVAnnotations().get("args"));
|
||||
}
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue