}
seriesItem = seriesItems.get(index);
- double currentX =
- seriesItem.getX();
+ double currentX = seriesItem.getX();
int newPixcelX = plot.getXPixcelFromX(currentX, r);
int newPixcelY = plot.getYPixcelFromY(series, seriesItem.getY(), r);
if (null != itemColor) {
gc.setBackground(itemColor);
gc.fillRectangle(pixcelStartX, r.y + heightMargin, EVENT_WIDTH,
- r.y + r.height - heightMargin - r.height/2);
-// gc.drawRectangle(pixcelStartX, r.y + heightMargin, EVENT_WIDTH,
-// r.y + r.height - heightMargin - r.height/2);
+ r.y + r.height - heightMargin - r.height / 2);
+ // gc.drawRectangle(pixcelStartX, r.y + heightMargin,
+ // EVENT_WIDTH,
+ // r.y + r.height - heightMargin - r.height/2);
gc.setBackground(color);
} else {
gc.fillRectangle(pixcelStartX, r.y + heightMargin, EVENT_WIDTH,
- r.y + r.height - heightMargin - r.height/2);
-// gc.drawRectangle(pixcelStartX, r.y + heightMargin, EVENT_WIDTH,
-// r.y + r.height - heightMargin - r.height/2);
+ r.y + r.height - heightMargin - r.height / 2);
+ // gc.drawRectangle(pixcelStartX, r.y + heightMargin,
+ // EVENT_WIDTH,
+ // r.y + r.height - heightMargin - r.height/2);
}
if (currentX > plot.getVisibleEndX()) {
break;
color = seriesItem.getEventColor();
double load = seriesItem.getY();
- gc.setAlpha((int) (255 * load));
+ gc.setAlpha((int) load);
if (null != color) {
gc.setBackground(color);
int heightMargin = (int) ((r.y + r.height) * EVENT_HEIGHT_MARGIN_RATIO);
- gc.fillRectangle(pixcelStartX, r.y + r.height/2, EVENT_WIDTH, r.y
- + r.height - heightMargin - r.height/2);
+ gc.fillRectangle(pixcelStartX, r.y + r.height / 2, EVENT_WIDTH, r.y
+ + r.height - heightMargin - r.height / 2);
if (0 == arrowPosition) {
}
gc.drawImage(arw, arrowRect.x, arrowRect.y);
Point p = gc.textExtent(number, SWT.DRAW_MNEMONIC);
- gc.drawText(number, (arrowRect.x + arrowRect.width/ 2 ) - p.x
- / 2 - ARROW_MARGIN, (arrowRect.y + arrowRect.height/ 2) - p.y / 2,
- true);
+ gc.drawText(number, (arrowRect.x + arrowRect.width / 2) - p.x
+ / 2 - ARROW_MARGIN,
+ (arrowRect.y + arrowRect.height / 2) - p.y / 2, true);
}
if (currentX > plot.getVisibleEndX()) {
setChartBackgroundImage(selectItem.getChart(),
ImageResources.CHART_BG_SELECT);
selectItem.selectItem(true);
+
if (null != selectionListenrers) {
for (int i = 0; i < selectionListenrers.size(); i++) {
selectionListenrers.get(i).handleSelectionEvent(selectItem);
if (!(this.data instanceof ThreadPageData)) {
return;
}
-
+ tableComp.getTable().removeAll();
tableComp.updateTable();
}
import org.eclipse.swt.layout.FillLayout;
import org.eclipse.swt.widgets.Composite;
import org.eclipse.swt.widgets.Control;
+import org.tizen.dynamicanalyzer.common.AnalyzerManager;
import org.tizen.dynamicanalyzer.common.DASelectionData;
import org.tizen.dynamicanalyzer.logparser.LogPackage;
import org.tizen.dynamicanalyzer.model.DAView;
import org.tizen.dynamicanalyzer.ui.widgets.TitleComboRenderer;
import org.tizen.dynamicanalyzer.ui.widgets.ViewContainer;
import org.tizen.dynamicanalyzer.widgets.chartBoard.DACustomChartBoard;
+import org.tizen.dynamicanalyzer.widgets.chartBoard.DACustomChartBoardItem;
+import org.tizen.dynamicanalyzer.widgets.chartBoard.DACustomChartBoardSelectionListener;
import org.tizen.dynamicanalyzer.widgets.combo.DACustomCombo;
public class ThreadChartView extends DAView {
contents.setLayout(new FillLayout());
threadChart = new DACustomChartBoard(contents,
ThreadPageLabels.THREAD_CHART_TITLE);
+
+ threadChart.addSelectionListener(new DACustomChartBoardSelectionListener() {
+
+ @Override
+ public void handleSelectionEvent(DACustomChartBoardItem item) {
+ // TODO Auto-generated method stub
+ AnalyzerManager.getCurrentPage().updatePage(new DASelectionData(ThreadChartView.ID, 0, 0, item.getData(), null));
+ }
+ });
combo = new DACustomCombo(threadChart.getTitleComp(), SWT.NONE);
private DACustomChartSeries loadSeries;
private DACustomChartSeries eventSeries;
private DACustomChartSeries apiSeries;
- private double load = 0;
public ThreadPageData(ThreadPageDataManager manager, String name, int tid,
String address) {
if (null == loadSeries) {
return ret;
}
- // FIXME : get load 0 ~ 1.0
- load += 0.01;
- if (load <= 1.0) {
- load -= 1;
- }
- // double load = Math.random();
- seriesItem = new DACustomChartSeriesItem(event.getTime(), load);
+
+ seriesItem = new DACustomChartSeriesItem(event.getTime(),
+ (double) event.getThreadType());
loadSeries.addSeriesItem(seriesItem);
break;
import org.tizen.dynamicanalyzer.resources.ColorResources;
import org.tizen.dynamicanalyzer.resources.ImageResources;
import org.tizen.dynamicanalyzer.ui.timeline.common.TimelineConstants;
-import org.tizen.dynamicanalyzer.ui.timeline.common.TimelineView;
import org.tizen.dynamicanalyzer.widgets.chart.DACustomChart;
import org.tizen.dynamicanalyzer.widgets.chart.DACustomChartPlot;
import org.tizen.dynamicanalyzer.widgets.chart.DACustomChartSeries;
private List<ThreadPageDataEvent> callEventQueue = new ArrayList<ThreadPageDataEvent>();
private List<ThreadPageDataEvent> calleeEventQueue = new ArrayList<ThreadPageDataEvent>();
- private int tid; // FIXME for test
-
protected void pushRow(ThreadPageData data) {
rowsQueue.add(data);
hasUpdate = true;
if(startTime < 0){
startTime = 0;
}
- AnalyzerManager.getCurrentPage().updatePage(new DASelectionData(TimelineView.ID, startTime, endTime, chart.getData(), chart));
+ AnalyzerManager.getCurrentPage().updatePage(new DASelectionData(ThreadChartView.ID, startTime, endTime, chart.getData(), chart));
}
private Listener chartMouseListener = new Listener() {
plot.setAxisRangeY(0, 101);
plot.setAxisRangeX(board.getVisibleStartTime(),
board.getVisibleEndTime());
- plot.setIntervalMarker(board.getIntervalMarker());
- chart.addListener(SWT.MouseMove, chartMouseListener);
- chart.addListener(SWT.MouseDown, chartMouseListener);
- chart.addListener(SWT.MouseUp, chartMouseListener);
- chart.addListener(SWT.MouseEnter, chartMouseListener);
- chart.addListener(SWT.MouseExit, chartMouseListener);
+// plot.setIntervalMarker(board.getIntervalMarker());
+// chart.addListener(SWT.MouseMove, chartMouseListener);
+// chart.addListener(SWT.MouseDown, chartMouseListener);
+// chart.addListener(SWT.MouseUp, chartMouseListener);
+// chart.addListener(SWT.MouseEnter, chartMouseListener);
+// chart.addListener(SWT.MouseExit, chartMouseListener);
}
private void setChartSeries(DACustomChart chart) {
isStart = true;
Project project = AnalyzerManager.getProject();
int tid = project.getPID();
- this.tid = tid;
if (0 == tid) {
isStart = false;
return;
}
List<String> input;
+
+ String loads;
+ int tid;
+ int load;
for (int i = 0; i < size; i++) {
input = inputs.get(i);
- double time = Double.parseDouble(input
- .get(LogCenterConstants.DEVICE_TIME_INDEX))
- / TimelineConstants.MEGA;
- ThreadPageDataEvent event = new ThreadPageDataEvent(this,
- ThreadPageDataEvent.TYPE_LOAD, -1, -1, time, tid, null);
- pushEvent(event);
+ loads = input.get(LogCenterConstants.DEVICE_THREAD_LOAD_INDEX);
+ String[] temp = loads.split(",");
+ int tempSize = temp.length;
+ double time;
+ for(int j=0; j+1 < tempSize; j+=2){
+ try{
+ tid = Integer.parseInt(temp[j]);
+ } catch(NumberFormatException nfe){
+ System.out.println("error : parseLoad - tid parsing");
+ break;
+ }
+ if(null == findParentData(tid)){
+ continue;
+ }
+
+ load = (int) (Double.parseDouble(temp[j+1]) * 2.55);
+ time = Double.parseDouble(input
+ .get(LogCenterConstants.DEVICE_TIME_INDEX))
+ / TimelineConstants.MEGA;
+
+ ThreadPageDataEvent event = new ThreadPageDataEvent(this,
+ ThreadPageDataEvent.TYPE_LOAD, load, -1, time, tid, null);
+ pushEvent(event);
+ }
}
-
}
private void parsePthread(List<String> input) {