@Override public void add(long xVal, double yVal) { graphRow.add(xVal, yVal); }
@Override public void setColor(Color nextColor) { super.setColor(nextColor); }
@Override public void setDrawLine(boolean b) { graphRow.setDrawLine(b); }
private double getAllThreadCount(long time) { double ret = 0; for (AbstractGraphRow row : model.values()) { //if the tg finished, last value = 0, else we take last known value if (time <= (row.getMaxX() + row.getGranulationValue())) { AbstractGraphPanelChartElement element = row.getElement(time); if (element == null) { element = row.getLowerElement(time); } if (element != null) { ret += element.getValue(); } } } return ret; }
private void addThreadGroupRecord(String threadGroupName, long time, int granulation) { String aggLabel = "Overall Response Times"; AbstractGraphRow row = model.get(threadGroupName); AbstractGraphRow rowAgg = modelAggregate.get(aggLabel); if (row == null) { row = getNewRow(model, AbstractGraphRow.ROW_SUM_VALUES, threadGroupName, AbstractGraphRow.MARKER_SIZE_NONE, true, false, false, true, false); } if (rowAgg == null) { rowAgg = getNewRow(modelAggregate, AbstractGraphRow.ROW_SUM_VALUES, aggLabel, AbstractGraphRow.MARKER_SIZE_NONE, true, false, false, true, Color.RED, false); } row.add(time, 1); row.setGranulationValue(granulation); rowAgg.add(time, 1); rowAgg.setGranulationValue(granulation); }
previewChart.clearErrorMessage(); AbstractGraphRow row = new GraphRowExactValues(); row.setColor(getRowColor()); row.setDrawLine(true); row.setMarkerSize(AbstractGraphRow.MARKER_SIZE_NONE); row.setDrawThickLines(true); row.add(0, 0); // initial value to force min Y row.add(Math.round((n - 1) * stepLen * 1000), stepRate); row.add(Math.round(n * stepLen * 1000), stepRate); totalArrivals += stepLen * stepRate; row.add(rampUp * 1000, targetRate); totalArrivals += rampUp * targetRate / 2.0; row.add((rampUp + holdFor) * 1000, targetRate); totalArrivals += holdFor * targetRate; totalArrivals /= unitFactor;
row = AbstractGraphRow.instantiateNewRow(rowType); row.setLabel(label); row.setMarkerSize(markerSize); row.setDrawBar(isBarRow); row.setDrawLine(!isBarRow); row.setDrawValueLabel(displayLabel); row.setDrawThickLines(thickLines); row.setShowInLegend(showInLegend); overrideColor = labelToColorMapping.getColorForLabel(row.getLabel()); if (log.isDebugEnabled()) if (row != null) { log.debug("%#@ Found override color [" + (overrideColor == null ? "null" : overrideColor.toString()) + "]"); log.debug("%#@ for label [" + row.getLabel() + "] color in-parm [" + (color == null ? "null" : color.toString()) + "]"); log.debug("%#@ prev row.getColor() [" + (row.getColor() == null ? "null" : row.getColor().toString()) + "]"); } else log.debug("%#@ Found null row displayLabel[" + displayLabel + "] and label [" + label + "]"); row.setColor(overrideColor != null ? overrideColor : colors.getNextColor()); if (log.isDebugEnabled()) log.debug("%#@ new row.getColor() [" + (row.getColor() == null ? "null" : row.getColor().toString()) + "]");
private void addThreadGroupRecord(String threadGroupName, long time, int numThreads, long duration) { String labelAgg = "Overall Active Threads"; AbstractGraphRow row = model.get(threadGroupName); AbstractGraphRow rowAgg = modelAggregate.get(labelAgg); if (row == null) { row = getNewRow(model, AbstractGraphRow.ROW_AVERAGES, threadGroupName, AbstractGraphRow.MARKER_SIZE_SMALL, false, false, false, true, true); } if (rowAgg == null) { rowAgg = getNewRow(modelAggregate, AbstractGraphRow.ROW_SIMPLE, labelAgg, AbstractGraphRow.MARKER_SIZE_SMALL, false, false, false, true, Color.RED, true); } row.add(time, numThreads); //rebuild is a heavy process, avoided if possible if (model.size() == 1) { log.debug(row.toString()); log.debug(row.getElement(time).toString()); rowAgg.add(time, row.getElement(time).getValue()); } else { rowAgg.add(time, getAllThreadCount(time)); //handle 3rd and more jtl reload, the time are reset to start time, so we //invalidate lastAggUpdateTime if (time < lastAggUpdateTime) { lastAggUpdateTime = time - duration; } if (time != lastAggUpdateTime) { rebuildAggRow((GraphRowSimple) rowAgg, time, duration); } lastAggUpdateTime = time; } }
rowValue = row.getValue(); rowValue.setExcludeOutOfRangeValues(chartSettings.isPreventXAxisOverScaling()); if (!rowValue.isDrawOnChart()) { continue; if (rowValue.getMaxX() > maxXVal) { maxXVal = rowValue.getMaxX(); if (rowValue.getMinX() < minXVal) { minXVal = rowValue.getMinX(); double[] rowMinMaxY = rowValue.getMinMaxY(chartSettings.getMaxPointPerRow()); if (rowValue.isDrawBar()) { barValue = rowValue.getGranulationValue(); maxXVal = rowValue.getMaxX(); minXVal = rowValue.getMinX();
@Override public void mouseClicked(MouseEvent e) { log.debug("mouse click [" + e.getX() + "," + e.getY() + "] ClickCount[" + e.getClickCount() + "]"); if (e.getClickCount() == 2) { for (Entry<String, AbstractGraphRow> row : model.entrySet()) { AbstractGraphRow agr = row.getValue(); if (agr != null) { Rectangle r = agr.getLegendColorBox(); if (r != null) { Rectangle slightlyLargerTarget = r.getBounds(); slightlyLargerTarget.height += 4; slightlyLargerTarget.width += 2; boolean hit = slightlyLargerTarget.contains(e.getPoint()); log.debug("hit [" + hit + "] rectangle [" + slightlyLargerTarget.toString() + "] point [" + e.getPoint() + "]"); if (hit) { row.getValue().setColor(colors.getNextColor()); } } } } updateGui(null); } //repaint(); } }
Entry<String, AbstractGraphRow> row = it.next(); rawsName.add(row.getKey()); Iterator<Entry<Long, AbstractGraphPanelChartElement>> itRow = row.getValue().iterator(); while (itRow.hasNext()) { Entry<Long, AbstractGraphPanelChartElement> element = itRow.next(); writer.write(csvSeparator); AbstractGraphRow row = model.get(rawsName.get(i)); AbstractGraphPanelChartElement value = row.getElement(xValue); if (value != null) { writer.write("" + value.getValue());
@Override public void setDrawThickLines(boolean isThickLine) { graphRow.setDrawThickLines(isThickLine); }
@Override public void setMarkerSize(int aMarkerSize) { graphRow.setMarkerSize(aMarkerSize); }
@Override public long getMaxX() { return graphRow.getMaxX(); }
@Override public AbstractGraphPanelChartElement getElement(long value) { return graphRow.getElement(value); }
previewChart.clearErrorMessage(); AbstractGraphRow row = new GraphRowExactValues(); row.setColor(getRowColor()); row.setDrawLine(true); row.setMarkerSize(AbstractGraphRow.MARKER_SIZE_NONE); row.setDrawThickLines(true); row.add(0, 0); // initial value to force min Y row.add(Math.round((n - 1) * stepLen * 1000), stepRate); row.add(Math.round(n * stepLen * 1000), stepRate); totalArrivals += stepLen * stepRate; row.add(rampUp * 1000, targetRate); totalArrivals += rampUp * targetRate / 2.0; row.add((rampUp + holdFor) * 1000, targetRate); totalArrivals += holdFor * targetRate; totalArrivals /= unitFactor;
row = AbstractGraphRow.instantiateNewRow(rowType); row.setLabel(label); row.setMarkerSize(markerSize); row.setDrawBar(isBarRow); row.setDrawLine(!isBarRow); row.setDrawValueLabel(displayLabel); row.setDrawThickLines(thickLines); row.setShowInLegend(showInLegend); overrideColor = labelToColorMapping.getColorForLabel(row.getLabel()); if (log.isDebugEnabled()) if (row != null) { log.debug("%#@ Found override color [" + (overrideColor == null ? "null" : overrideColor.toString()) + "]"); log.debug("%#@ for label [" + row.getLabel() + "] color in-parm [" + (color == null ? "null" : color.toString()) + "]"); log.debug("%#@ prev row.getColor() [" + (row.getColor() == null ? "null" : row.getColor().toString()) + "]"); } else log.debug("%#@ Found null row displayLabel[" + displayLabel + "] and label [" + label + "]"); row.setColor(overrideColor != null ? overrideColor : colors.getNextColor()); if (log.isDebugEnabled()) log.debug("%#@ new row.getColor() [" + (row.getColor() == null ? "null" : row.getColor().toString()) + "]");
private void addThreadGroupRecord(String threadGroupName, long time, int numThreads, long duration) { String labelAgg = "Overall Active Threads"; AbstractGraphRow row = model.get(threadGroupName); AbstractGraphRow rowAgg = modelAggregate.get(labelAgg); if (row == null) { row = getNewRow(model, AbstractGraphRow.ROW_AVERAGES, threadGroupName, AbstractGraphRow.MARKER_SIZE_SMALL, false, false, false, true, true); } if (rowAgg == null) { rowAgg = getNewRow(modelAggregate, AbstractGraphRow.ROW_SIMPLE, labelAgg, AbstractGraphRow.MARKER_SIZE_SMALL, false, false, false, true, Color.RED, true); } row.add(time, numThreads); //rebuild is a heavy process, avoided if possible if (model.size() == 1) { log.debug(row.toString()); log.debug(row.getElement(time).toString()); rowAgg.add(time, row.getElement(time).getValue()); } else { rowAgg.add(time, getAllThreadCount(time)); //handle 3rd and more jtl reload, the time are reset to start time, so we //invalidate lastAggUpdateTime if (time < lastAggUpdateTime) { lastAggUpdateTime = time - duration; } if (time != lastAggUpdateTime) { rebuildAggRow((GraphRowSimple) rowAgg, time, duration); } lastAggUpdateTime = time; } }
private double getAllThreadCount(long time) { double ret = 0; for (AbstractGraphRow row : model.values()) { //if the tg finished, last value = 0, else we take last known value if (time <= (row.getMaxX() + row.getGranulationValue())) { AbstractGraphPanelChartElement element = row.getElement(time); if (element == null) { element = row.getLowerElement(time); } if (element != null) { ret += element.getValue(); } } } return ret; }