----------------------------------------------------------- This is an automatically generated e-mail. To reply, visit: http://review.hbase.org/r/390/ -----------------------------------------------------------
Review request for Avro. Summary ------- Here is a patch update based on the preliminary feedback. I dropped the querying stuff since it's not yet used. This patch adds the logic behind aggregating partial spans (which will have been collected from several remote hosts) and creating traces (extracting RPC call trees from a set of spans). We talked off-line about redundancy in the data that is collected. We could get away with only recording a spanID and a parentSpanID for each span, then we can back-out each trace by following these data (we get to the root of a trace when we see a null parentSpanID). By adding a traceID unique to each call tree, it is easier to partition the work of collecting spans into traces as we can easily group spans by trace before we try back-out a tree (perhaps this is why Dapper paper describes this method). It also lowers the chance of ID collision since spanID and parentSpanID are specific to one traceID. Diffs ----- lang/java/src/java/org/apache/avro/ipc/trace/InMemorySpanStorage.java PRE-CREATION lang/java/src/java/org/apache/avro/ipc/trace/SpanAggregator.java PRE-CREATION lang/java/src/java/org/apache/avro/ipc/trace/SpanStorage.java PRE-CREATION lang/java/src/java/org/apache/avro/ipc/trace/Trace.java PRE-CREATION lang/java/src/java/org/apache/avro/ipc/trace/TraceNode.java PRE-CREATION lang/java/src/java/org/apache/avro/ipc/trace/TracePlugin.java PRE-CREATION lang/java/src/java/org/apache/avro/ipc/trace/TracePluginConfiguration.java PRE-CREATION lang/java/src/test/java/org/apache/avro/ipc/trace/TestBasicTracing.java PRE-CREATION lang/java/src/test/java/org/apache/avro/ipc/trace/TestEndToEndTracing.java PRE-CREATION lang/java/src/test/java/org/apache/avro/ipc/trace/TestSpanAggregation.java PRE-CREATION lang/java/src/test/java/org/apache/avro/ipc/trace/TestSpanTraceFormation.java PRE-CREATION share/schemas/org/apache/avro/ipc/trace/avroTrace.avdl PRE-CREATION share/schemas/org/apache/avro/ipc/trace/avroTrace.avpr PRE-CREATION Diff: http://review.hbase.org/r/390/diff Testing ------- Several unit-tests are present in this review. See testTraceAndCollection() in TestEndToEndTracing.java for a clear example of the creation and subsequent aggregation of trace data. Thanks, Patrick
