瀏覽代碼

HADOOP-11242. Record the time of calling in tracing span of IPC server. Contributed by Mastake Iwasaki.

(cherry picked from commit bb1816328a36ec3f8c6bd9fdb950d9a4ec8388c8)
Akira Ajisaka 10 年之前
父節點
當前提交
9670762a82

+ 3 - 0
hadoop-common-project/hadoop-common/CHANGES.txt

@@ -146,6 +146,9 @@ Release 2.8.0 - UNRELEASED
     HADOOP-11772. RPC Invoker relies on static ClientCache which has
     synchronized(this) blocks. (wheat9)
 
+    HADOOP-11242. Record the time of calling in tracing span of
+    IPC server. (Masatake Iwasaki via aajisaka)
+
   BUG FIXES
     HADOOP-11802: DomainSocketWatcher thread terminates sometimes after there
     is an I/O error during requestShortCircuitShm (cmccabe)

+ 1 - 0
hadoop-common-project/hadoop-common/src/main/java/org/apache/hadoop/ipc/Server.java

@@ -2067,6 +2067,7 @@ public abstract class Server {
           CurCall.set(call);
           if (call.traceSpan != null) {
             traceScope = Trace.continueSpan(call.traceSpan);
+            traceScope.getSpan().addTimelineAnnotation("called");
           }
 
           try {

+ 7 - 0
hadoop-hdfs-project/hadoop-hdfs/src/test/java/org/apache/hadoop/tracing/TestTracing.java

@@ -120,6 +120,13 @@ public class TestTracing {
         Assert.assertEquals(ts.getSpan().getTraceId(), span.getTraceId());
       }
     }
+
+    // test for timeline annotation added by HADOOP-11242
+    Assert.assertEquals("called",
+        map.get("org.apache.hadoop.hdfs.protocol.ClientProtocol.create")
+           .get(0).getTimelineAnnotations()
+           .get(0).getMessage());
+
     SetSpanReceiver.SetHolder.spans.clear();
   }