[NO ISSUE][OTH] Trace ingestion performance at Feed Store
- user model changes: no
- storage format changes: no
- interface changes: no
details:
- Trace the ingestion performance at store side
Change-Id: I80f41429d23cb46385e6672bfd59715249c3b7ba
Reviewed-on: https://asterix-gerrit.ics.uci.edu/2074
Sonar-Qube: Jenkins <jenkins@fulliautomatix.ics.uci.edu>
Tested-by: Jenkins <jenkins@fulliautomatix.ics.uci.edu>
Contrib: Jenkins <jenkins@fulliautomatix.ics.uci.edu>
Reviewed-by: Till Westmann <tillw@apache.org>
Integration-Tests: Jenkins <jenkins@fulliautomatix.ics.uci.edu>
diff --git a/asterixdb/asterix-external-data/src/main/java/org/apache/asterix/external/operators/FeedMetaStoreNodePushable.java b/asterixdb/asterix-external-data/src/main/java/org/apache/asterix/external/operators/FeedMetaStoreNodePushable.java
index 97c1115d..3791f61 100644
--- a/asterixdb/asterix-external-data/src/main/java/org/apache/asterix/external/operators/FeedMetaStoreNodePushable.java
+++ b/asterixdb/asterix-external-data/src/main/java/org/apache/asterix/external/operators/FeedMetaStoreNodePushable.java
@@ -43,6 +43,7 @@
import org.apache.hyracks.dataflow.common.comm.io.FrameTupleAccessor;
import org.apache.hyracks.dataflow.common.utils.TaskUtil;
import org.apache.hyracks.dataflow.std.base.AbstractUnaryInputUnaryOutputOperatorNodePushable;
+import org.apache.hyracks.util.trace.ITracer;
public class FeedMetaStoreNodePushable extends AbstractUnaryInputUnaryOutputOperatorNodePushable {
@@ -85,6 +86,8 @@
private final FeedMetaOperatorDescriptor opDesc;
+ private final ITracer tracer;
+
public FeedMetaStoreNodePushable(IHyracksTaskContext ctx, IRecordDescriptorProvider recordDescProvider,
int partition, int nPartitions, IOperatorDescriptor coreOperator, FeedConnectionId feedConnectionId,
Map<String, String> feedPolicyProperties, FeedMetaOperatorDescriptor feedMetaOperatorDescriptor)
@@ -101,6 +104,7 @@
TaskUtil.put(HyracksConstants.KEY_MESSAGE, message, ctx);
this.recordDescProvider = recordDescProvider;
this.opDesc = feedMetaOperatorDescriptor;
+ tracer = ctx.getJobletContext().getServiceContext().getTracer();
}
@Override
@@ -136,12 +140,15 @@
@Override
public void nextFrame(ByteBuffer buffer) throws HyracksDataException {
+ long tid = tracer.durationB("Ingestion-Store", "Process-Frame", null);
try {
FeedUtils.processFeedMessage(buffer, message, fta);
writer.nextFrame(buffer);
} catch (Exception e) {
- e.printStackTrace();
- throw new HyracksDataException(e);
+ LOGGER.log(Level.WARNING, "Failure Processing a frame at store side", e);
+ throw HyracksDataException.create(e);
+ } finally {
+ tracer.durationE(tid, null);
}
}
diff --git a/hyracks-fullstack/hyracks/hyracks-control/hyracks-control-nc/src/main/java/org/apache/hyracks/control/nc/application/NCServiceContext.java b/hyracks-fullstack/hyracks/hyracks-control/hyracks-control-nc/src/main/java/org/apache/hyracks/control/nc/application/NCServiceContext.java
index 68d9581..8e35ed4 100644
--- a/hyracks-fullstack/hyracks/hyracks-control/hyracks-control-nc/src/main/java/org/apache/hyracks/control/nc/application/NCServiceContext.java
+++ b/hyracks-fullstack/hyracks/hyracks-control/hyracks-control-nc/src/main/java/org/apache/hyracks/control/nc/application/NCServiceContext.java
@@ -95,7 +95,7 @@
@Override
public ITracer getTracer() {
- return tracer;
+ return ITracer.check(tracer);
}
@Override