diff options
author | Francois Chouinard | 2011-04-05 21:39:16 +0000 |
---|---|---|
committer | Francois Chouinard | 2011-04-05 21:39:16 +0000 |
commit | 75076314f03488212ed5975a0770530cc3232704 (patch) | |
tree | f51a72df38e36af43706e4dc41af6c2238fb161c /lttng/org.eclipse.linuxtools.tmf | |
parent | 50c8296f468bd46578f6bc57465527bbb51fa7bd (diff) | |
download | org.eclipse.linuxtools-75076314f03488212ed5975a0770530cc3232704.tar.gz org.eclipse.linuxtools-75076314f03488212ed5975a0770530cc3232704.tar.xz org.eclipse.linuxtools-75076314f03488212ed5975a0770530cc3232704.zip |
Introduce request block size for BG requests
Diffstat (limited to 'lttng/org.eclipse.linuxtools.tmf')
9 files changed, 27 insertions, 10 deletions
diff --git a/lttng/org.eclipse.linuxtools.tmf/src/org/eclipse/linuxtools/tmf/component/TmfDataProvider.java b/lttng/org.eclipse.linuxtools.tmf/src/org/eclipse/linuxtools/tmf/component/TmfDataProvider.java index 3174650f94..23318b196e 100644 --- a/lttng/org.eclipse.linuxtools.tmf/src/org/eclipse/linuxtools/tmf/component/TmfDataProvider.java +++ b/lttng/org.eclipse.linuxtools.tmf/src/org/eclipse/linuxtools/tmf/component/TmfDataProvider.java @@ -195,7 +195,7 @@ public abstract class TmfDataProvider<T extends TmfData> extends TmfComponent im protected void newCoalescedDataRequest(ITmfDataRequest<T> request) { synchronized(fLock) { TmfCoalescedDataRequest<T> coalescedRequest = new TmfCoalescedDataRequest<T>( - fType, request.getIndex(), request.getNbRequested(),request.getExecType()); + fType, request.getIndex(), request.getNbRequested(), request.getBlockSize(), request.getExecType()); coalescedRequest.addRequest(request); if (Tracer.isRequestTraced()) { Tracer.traceRequest(request, "coalesced with " + coalescedRequest.getRequestId()); //$NON-NLS-1$ @@ -227,7 +227,7 @@ public abstract class TmfDataProvider<T extends TmfData> extends TmfComponent im if (request.getExecType() == ExecutionType.FOREGROUND) queueRequest(request); else - queueBackgroundRequest(request, DEFAULT_BLOCK_SIZE, true); + queueBackgroundRequest(request, request.getBlockSize(), true); } protected void queueRequest(final ITmfDataRequest<T> request) { diff --git a/lttng/org.eclipse.linuxtools.tmf/src/org/eclipse/linuxtools/tmf/component/TmfEventProvider.java b/lttng/org.eclipse.linuxtools.tmf/src/org/eclipse/linuxtools/tmf/component/TmfEventProvider.java index 1cf2e79276..78fa1aa2ec 100644 --- a/lttng/org.eclipse.linuxtools.tmf/src/org/eclipse/linuxtools/tmf/component/TmfEventProvider.java +++ b/lttng/org.eclipse.linuxtools.tmf/src/org/eclipse/linuxtools/tmf/component/TmfEventProvider.java @@ -53,7 +53,9 @@ public abstract class TmfEventProvider<T extends TmfEvent> extends TmfDataProvid if (request instanceof ITmfEventRequest<?>) { ITmfEventRequest<T> eventRequest = (ITmfEventRequest<T>) request; TmfCoalescedEventRequest<T> coalescedRequest = - new TmfCoalescedEventRequest<T>(fType, eventRequest.getRange(), eventRequest.getNbRequested(), eventRequest.getExecType()); + new TmfCoalescedEventRequest<T>( + fType, eventRequest.getRange(), eventRequest.getNbRequested(), eventRequest.getBlockSize(), + eventRequest.getExecType()); coalescedRequest.addRequest(eventRequest); if (Tracer.isRequestTraced()) { Tracer.traceRequest(request, "coalesced with " + coalescedRequest.getRequestId()); //$NON-NLS-1$ diff --git a/lttng/org.eclipse.linuxtools.tmf/src/org/eclipse/linuxtools/tmf/experiment/TmfExperiment.java b/lttng/org.eclipse.linuxtools.tmf/src/org/eclipse/linuxtools/tmf/experiment/TmfExperiment.java index d7cc787222..08018fddf6 100644 --- a/lttng/org.eclipse.linuxtools.tmf/src/org/eclipse/linuxtools/tmf/experiment/TmfExperiment.java +++ b/lttng/org.eclipse.linuxtools.tmf/src/org/eclipse/linuxtools/tmf/experiment/TmfExperiment.java @@ -721,7 +721,7 @@ public class TmfExperiment<T extends TmfEvent> extends TmfEventProvider<T> imple // System.out.println(System.currentTimeMillis() + ": Experiment indexing started"); ITmfEventRequest<TmfEvent> request = new TmfEventRequest<TmfEvent>(TmfEvent.class, TmfTimeRange.Eternity, - TmfDataRequest.ALL_DATA, 1, ITmfDataRequest.ExecutionType.BACKGROUND) { + TmfDataRequest.ALL_DATA, fIndexPageSize, ITmfDataRequest.ExecutionType.BACKGROUND) { // long indexingStart = System.nanoTime(); @@ -854,7 +854,7 @@ public class TmfExperiment<T extends TmfEvent> extends TmfEventProvider<T> imple // TmfEventRequest<T> subRequest = new TmfEventRequest<T>(eventRequest.getDataType(), new TmfTimeRange(timestamp[0], endTS), CHUNK_SIZE[0], eventRequest.getBlockize(), ExecutionType.BACKGROUND) // TmfDataRequest<T> subRequest = new TmfDataRequest<T>(eventRequest.getDataType(), nbRead[0], CHUNK_SIZE[0], eventRequest.getBlockize(), ExecutionType.BACKGROUND) - TmfDataRequest<T> subRequest = new TmfDataRequest<T>(eventRequest.getDataType(), nbRead[0], CHUNK_SIZE[0], ExecutionType.BACKGROUND) + TmfDataRequest<T> subRequest = new TmfDataRequest<T>(eventRequest.getDataType(), nbRead[0], CHUNK_SIZE[0], blockSize, ExecutionType.BACKGROUND) { @Override public void handleData(T data) { diff --git a/lttng/org.eclipse.linuxtools.tmf/src/org/eclipse/linuxtools/tmf/request/ITmfDataRequest.java b/lttng/org.eclipse.linuxtools.tmf/src/org/eclipse/linuxtools/tmf/request/ITmfDataRequest.java index 7153383611..9e3760f74e 100644 --- a/lttng/org.eclipse.linuxtools.tmf/src/org/eclipse/linuxtools/tmf/request/ITmfDataRequest.java +++ b/lttng/org.eclipse.linuxtools.tmf/src/org/eclipse/linuxtools/tmf/request/ITmfDataRequest.java @@ -57,6 +57,11 @@ public interface ITmfDataRequest<T extends TmfData> { public int getNbRequested(); /** + * @return the block size (for BG requests) + */ + public int getBlockSize(); + + /** * @return the number of events read so far */ public int getNbRead(); diff --git a/lttng/org.eclipse.linuxtools.tmf/src/org/eclipse/linuxtools/tmf/request/TmfCoalescedDataRequest.java b/lttng/org.eclipse.linuxtools.tmf/src/org/eclipse/linuxtools/tmf/request/TmfCoalescedDataRequest.java index 262eabe26a..738e8f1b67 100644 --- a/lttng/org.eclipse.linuxtools.tmf/src/org/eclipse/linuxtools/tmf/request/TmfCoalescedDataRequest.java +++ b/lttng/org.eclipse.linuxtools.tmf/src/org/eclipse/linuxtools/tmf/request/TmfCoalescedDataRequest.java @@ -228,6 +228,6 @@ public class TmfCoalescedDataRequest<T extends TmfData> extends TmfDataRequest<T @SuppressWarnings("nls") public String toString() { return "[TmfCoalescedDataRequest(" + getRequestId() + "," + getDataType().getSimpleName() - + "," + getIndex() + "," + getNbRequested() + ")]"; + + "," + getIndex() + "," + getNbRequested() + "," + getBlockSize() + ")]"; } } diff --git a/lttng/org.eclipse.linuxtools.tmf/src/org/eclipse/linuxtools/tmf/request/TmfCoalescedEventRequest.java b/lttng/org.eclipse.linuxtools.tmf/src/org/eclipse/linuxtools/tmf/request/TmfCoalescedEventRequest.java index b5fc5fef7e..077aa8d96c 100644 --- a/lttng/org.eclipse.linuxtools.tmf/src/org/eclipse/linuxtools/tmf/request/TmfCoalescedEventRequest.java +++ b/lttng/org.eclipse.linuxtools.tmf/src/org/eclipse/linuxtools/tmf/request/TmfCoalescedEventRequest.java @@ -172,7 +172,7 @@ public class TmfCoalescedEventRequest<T extends TmfEvent> extends TmfCoalescedDa @SuppressWarnings("nls") public String toString() { return "[TmfCoalescedEventRequest(" + getRequestId() + "," + getDataType().getSimpleName() - + "," + getRange() + "," + getNbRequested() + ")]"; + + "," + getRange() + "," + getNbRequested() + "," + getBlockSize() + ")]"; } } diff --git a/lttng/org.eclipse.linuxtools.tmf/src/org/eclipse/linuxtools/tmf/request/TmfDataRequest.java b/lttng/org.eclipse.linuxtools.tmf/src/org/eclipse/linuxtools/tmf/request/TmfDataRequest.java index 7eba296f22..400215c94a 100644 --- a/lttng/org.eclipse.linuxtools.tmf/src/org/eclipse/linuxtools/tmf/request/TmfDataRequest.java +++ b/lttng/org.eclipse.linuxtools.tmf/src/org/eclipse/linuxtools/tmf/request/TmfDataRequest.java @@ -92,6 +92,7 @@ public abstract class TmfDataRequest<T extends TmfData> implements ITmfDataReque private final int fRequestId; // A unique request ID private final int fIndex; // The index (rank) of the requested event private final int fNbRequested; // The number of requested events (ALL_DATA for all) + private final int fBlockSize; // The block size (for BG requests) private int fNbRead; // The number of reads so far private CountDownLatch startedLatch = new CountDownLatch(1); @@ -165,6 +166,7 @@ public abstract class TmfDataRequest<T extends TmfData> implements ITmfDataReque fDataType = dataType; fIndex = index; fNbRequested = nbRequested; + fBlockSize = blockSize; fExecType = execType; fNbRead = 0; if (Tracer.isRequestTraced()) Tracer.traceRequest(this, "created"); //$NON-NLS-1$ @@ -215,6 +217,14 @@ public abstract class TmfDataRequest<T extends TmfData> implements ITmfDataReque } /** + * @return the block size (for BG requests) + */ + @Override + public int getBlockSize() { + return fBlockSize; + } + + /** * @return the number of events read so far */ @Override @@ -438,6 +448,6 @@ public abstract class TmfDataRequest<T extends TmfData> implements ITmfDataReque @SuppressWarnings("nls") public String toString() { return "[TmfDataRequest(" + fRequestId + "," + fDataType.getSimpleName() + - "," + fIndex + "," + fNbRequested + ")]"; + "," + fIndex + "," + fNbRequested + "," + getBlockSize() + ")]"; } } diff --git a/lttng/org.eclipse.linuxtools.tmf/src/org/eclipse/linuxtools/tmf/request/TmfEventRequest.java b/lttng/org.eclipse.linuxtools.tmf/src/org/eclipse/linuxtools/tmf/request/TmfEventRequest.java index f86793dc4b..02040b76f4 100644 --- a/lttng/org.eclipse.linuxtools.tmf/src/org/eclipse/linuxtools/tmf/request/TmfEventRequest.java +++ b/lttng/org.eclipse.linuxtools.tmf/src/org/eclipse/linuxtools/tmf/request/TmfEventRequest.java @@ -115,7 +115,7 @@ public abstract class TmfEventRequest<T extends TmfEvent> extends TmfDataRequest @SuppressWarnings("nls") public String toString() { return "[TmfEventRequest(" + getRequestId() + "," + getDataType().getSimpleName() - + "," + getRange() + "," + getNbRequested() + ")]"; + + "," + getRange() + "," + getNbRequested() + "," + getBlockSize() + ")]"; } } diff --git a/lttng/org.eclipse.linuxtools.tmf/src/org/eclipse/linuxtools/tmf/trace/TmfTrace.java b/lttng/org.eclipse.linuxtools.tmf/src/org/eclipse/linuxtools/tmf/trace/TmfTrace.java index 6dcf6aedc5..12d0964d57 100644 --- a/lttng/org.eclipse.linuxtools.tmf/src/org/eclipse/linuxtools/tmf/trace/TmfTrace.java +++ b/lttng/org.eclipse.linuxtools.tmf/src/org/eclipse/linuxtools/tmf/trace/TmfTrace.java @@ -451,7 +451,7 @@ public abstract class TmfTrace<T extends TmfEvent> extends TmfEventProvider<T> i fCheckpoints.clear(); ITmfEventRequest<TmfEvent> request = new TmfEventRequest<TmfEvent>(TmfEvent.class, TmfTimeRange.Eternity, - TmfDataRequest.ALL_DATA, 1, ITmfDataRequest.ExecutionType.BACKGROUND) { + TmfDataRequest.ALL_DATA, fIndexPageSize, ITmfDataRequest.ExecutionType.BACKGROUND) { TmfTimestamp startTime = null; TmfTimestamp lastTime = null; |