From 72e6d7c0732f0f22940f19c74dede40b2f1af362 Mon Sep 17 00:00:00 2001 From: Balazs Meszaros Date: Fri, 23 Mar 2018 17:02:04 +0100 Subject: [PATCH] HBASE-20245 HTrace commands do not work --- .../src/main/ruby/shell/commands/trace.rb | 18 +++++++++++++----- 1 file changed, 13 insertions(+), 5 deletions(-) diff --git a/hbase-shell/src/main/ruby/shell/commands/trace.rb b/hbase-shell/src/main/ruby/shell/commands/trace.rb index b0350be2ef0..f2a8ee0b086 100644 --- a/hbase-shell/src/main/ruby/shell/commands/trace.rb +++ b/hbase-shell/src/main/ruby/shell/commands/trace.rb @@ -16,13 +16,18 @@ # See the License for the specific language governing permissions and # limitations under the License. # -HTrace = org.apache.htrace.core.Tracer -java_import org.apache.htrace.core.Sampler + java_import org.apache.hadoop.hbase.trace.SpanReceiverHost module Shell module Commands class Trace < Command + @@conf = org.apache.htrace.core.HTraceConfiguration.fromKeyValuePairs( + 'sampler.classes', 'org.apache.htrace.core.AlwaysSampler' + ) + @@tracer = org.apache.htrace.core.Tracer::Builder.new('HBaseShell').conf(@@conf).build() + @@tracescope = nil + def help <<-EOF Start or Stop tracing using HTrace. @@ -55,16 +60,19 @@ EOF @@receiver ||= SpanReceiverHost.getInstance(@shell.hbase.configuration) if startstop == 'start' unless tracing? - @@tracescope = HTrace.startSpan(spanname, Sampler.ALWAYS) + @@tracescope = @@tracer.newScope(spanname) end elsif startstop == 'stop' - @@tracescope.close if tracing? + if tracing? + @@tracescope.close + @@tracescope = nil + end end tracing? end def tracing? - HTrace.isTracing + @@tracescope != nil end end end