Search in sources :

Example 1 with LatencyPlot

use of com.att.aro.ui.view.diagnostictab.plot.LatencyPlot in project VideoOptimzer by attdevsupport.

the class GraphPanel method refresh.

// In 4.1.1, the method name is resetChart(TraceData.Analysis analysis)
public void refresh(AROTraceData aroTraceData) {
    getSaveGraphButton().setEnabled(aroTraceData != null);
    if (combinedPlot != null) {
        setGraphView(combinedPlot.getDomainCrosshairValue(), true);
    } else {
        setGraphView(0, true);
    }
    setTraceData(aroTraceData);
    if (aroTraceData != null) {
        setAllPackets(aroTraceData.getAnalyzerResult().getTraceresult().getAllpackets());
        setTraceDuration(aroTraceData.getAnalyzerResult().getTraceresult().getTraceDuration());
        // list
        setAllTcpSessions(aroTraceData.getAnalyzerResult().getSessionlist().size());
    // length
    } else {
        setAllPackets(new LinkedList<PacketInfo>());
        setTraceDuration(0);
        setAllTcpSessions(0);
    }
    if (aroTraceData != null && aroTraceData.getAnalyzerResult().getFilter() != null && aroTraceData.getAnalyzerResult().getFilter().getTimeRange() != null) {
        if (aroTraceData.getAnalyzerResult().getSessionlist().size() > 0 && aroTraceData.getAnalyzerResult().getFilter().getTimeRange().getBeginTime() < aroTraceData.getAnalyzerResult().getFilter().getTimeRange().getEndTime()) {
            getAxis().setRange(new Range(aroTraceData.getAnalyzerResult().getFilter().getTimeRange().getBeginTime(), aroTraceData.getAnalyzerResult().getFilter().getTimeRange().getEndTime()));
        } else {
            getAxis().setRange(new Range(-0.01, 0));
        }
    } else {
        if (getEndTime() > 0) {
            if (aroTraceData != null) {
                getAxis().setRange(new Range(getStartTime(), getEndTime()));
            }
            // Reset times
            setStartTime(0.0);
            setEndTime(0.0);
        } else {
            getAxis().setRange(new Range(-0.01, aroTraceData != null ? aroTraceData.getAnalyzerResult().getTraceresult().getTraceDuration() : DEFAULT_TIMELINE));
        }
    }
    if (aroTraceData != null && aroTraceData.getAnalyzerResult().getSessionlist().size() > 0) {
        for (Map.Entry<ChartPlotOptions, GraphPanelPlotLabels> entry : getSubplotMap().entrySet()) {
            switch(entry.getKey()) {
                case THROUGHPUT:
                    if (throughput == null) {
                        throughput = new ThroughputPlot();
                    }
                    throughput.populate(entry.getValue().getPlot(), aroTraceData);
                    break;
                case BURSTS:
                    if (burstPlot == null) {
                        burstPlot = new BurstPlot();
                    }
                    // burstPlot = new BurstPlot();
                    burstPlot.populate(entry.getValue().getPlot(), aroTraceData);
                    break;
                case RRC:
                    if (rrcPlot == null) {
                        rrcPlot = new RrcPlot();
                    }
                    rrcPlot.populate(entry.getValue().getPlot(), aroTraceData);
                    break;
                case USER_INPUT:
                    if (eventPlot == null) {
                        eventPlot = new UserEventPlot();
                    }
                    eventPlot.populate(entry.getValue().getPlot(), aroTraceData);
                    break;
                case DL_PACKETS:
                    if (dlPlot == null) {
                        dlPlot = new DLPacketPlot();
                    }
                    dlPlot.populate(entry.getValue().getPlot(), aroTraceData, true);
                    break;
                case UL_PACKETS:
                    if (upPlot == null) {
                        upPlot = new DLPacketPlot();
                    }
                    upPlot.populate(entry.getValue().getPlot(), aroTraceData, false);
                    break;
                case ALARM:
                    if (alarmPlot == null) {
                        alarmPlot = new AlarmPlot();
                    }
                    alarmPlot.populate(entry.getValue().getPlot(), aroTraceData);
                    break;
                case GPS:
                    if (gpsPlot == null) {
                        gpsPlot = new GpsPlot();
                    }
                    gpsPlot.populate(entry.getValue().getPlot(), aroTraceData);
                    break;
                case RADIO:
                    if (radioPlot == null) {
                        radioPlot = new RadioPlot();
                    }
                    radioPlot.populate(entry.getValue().getPlot(), aroTraceData);
                    break;
                case CPU:
                    if (cpuPlot == null) {
                        cpuPlot = new CpuPlot();
                    }
                    cpuPlot.populate(entry.getValue().getPlot(), aroTraceData);
                    break;
                case SCREEN:
                    if (ssPlot == null) {
                        ssPlot = new ScreenStatePlot();
                    }
                    ssPlot.populate(entry.getValue().getPlot(), aroTraceData);
                    break;
                case BATTERY:
                    if (bPlot == null) {
                        bPlot = new BatteryPlot();
                    }
                    bPlot.populate(entry.getValue().getPlot(), aroTraceData);
                    break;
                case TEMPERATURE:
                    if (tPlot == null) {
                        tPlot = new TemperaturePlot();
                    }
                    tPlot.populate(entry.getValue().getPlot(), aroTraceData);
                    break;
                case BLUETOOTH:
                    if (bluetoothPlot == null) {
                        bluetoothPlot = new BluetoothPlot();
                    }
                    bluetoothPlot.populate(entry.getValue().getPlot(), aroTraceData);
                    break;
                case WIFI:
                    if (wPlot == null) {
                        wPlot = new WifiPlot();
                    }
                    wPlot.populate(entry.getValue().getPlot(), aroTraceData);
                    break;
                case CAMERA:
                    if (cPlot == null) {
                        cPlot = new CameraPlot();
                    }
                    cPlot.populate(entry.getValue().getPlot(), aroTraceData);
                    break;
                case NETWORK_TYPE:
                    if (ntPlot == null) {
                        ntPlot = new NetworkTypePlot();
                    }
                    ntPlot.populate(entry.getValue().getPlot(), aroTraceData);
                    break;
                case WAKELOCK:
                    if (wlPlot == null) {
                        wlPlot = new WakeLockPlot();
                    }
                    wlPlot.populate(entry.getValue().getPlot(), aroTraceData);
                    break;
                case ATTENUATION:
                    if (attnrPlot == null) {
                        attnrPlot = new AttenuatorPlot();
                    }
                    attnrPlot.populate(entry.getValue().getPlot(), aroTraceData);
                    break;
                case SPEED_THROTTLE:
                    if (stPlot == null) {
                        stPlot = new SpeedThrottlePlot();
                    }
                    stPlot.populate(entry.getValue().getPlot(), aroTraceData);
                    break;
                case VIDEO_CHUNKS:
                    if (vcPlot == null) {
                        vcPlot = new VideoChunksPlot();
                    }
                    XYPlot bufferOccupancyPlot = getSubplotMap().get(ChartPlotOptions.BUFFER_OCCUPANCY).getPlot();
                    XYPlot bufferTimePlot = getSubplotMap().get(ChartPlotOptions.BUFFER_TIME_OCCUPANCY).getPlot();
                    this.chunkInfo.clear();
                    vcPlot.setBufferOccupancyPlot(bufferOccupancyPlot);
                    vcPlot.setBufferTimePlot(bufferTimePlot);
                    VideoStream selectedStream = null;
                    int count = 0;
                    StreamingVideoData streamingVideoData = aroTraceData.getAnalyzerResult().getStreamingVideoData();
                    if (streamingVideoData != null) {
                        for (VideoStream videoStream : streamingVideoData.getVideoStreamMap().values()) {
                            if (videoStream != null && videoStream.isSelected()) {
                                selectedStream = videoStream;
                                count++;
                            }
                        }
                        if (count == 1 && selectedStream != null && selectedStream.getManifest().getDelay() != 0) {
                            VideoEvent firstSegment = (VideoEvent) selectedStream.getVideoEventsBySegment().toArray()[0];
                            if (selectedStream.getManifest().getVideoFormat() == VideoFormat.MPEG4) {
                                for (VideoEvent video : selectedStream.getVideoEventsBySegment()) {
                                    if (video.getSegmentID() != 0) {
                                        firstSegment = video;
                                        break;
                                    }
                                }
                            }
                            vcPlot.refreshPlot(getSubplotMap().get(ChartPlotOptions.VIDEO_CHUNKS).getPlot(), aroTraceData, selectedStream.getManifest().getDelay() + firstSegment.getEndTS(), firstSegment);
                        } else {
                            vcPlot.populate(entry.getValue().getPlot(), aroTraceData);
                        }
                    }
                    break;
                case CONNECTIONS:
                    connectionsPlot = new ConnectionsPlot();
                    connectionsPlot.populate(entry.getValue().getPlot(), aroTraceData);
                    break;
                case LATENCY:
                    if (latencyplot == null) {
                        latencyplot = new LatencyPlot();
                    }
                    latencyplot.populate(entry.getValue().getPlot(), aroTraceData);
                    break;
                default:
                    break;
            }
        }
    }
    getZoomInButton().setEnabled(aroTraceData != null);
    getZoomOutButton().setEnabled(aroTraceData != null);
    getSaveGraphButton().setEnabled(aroTraceData != null);
    if (aroTraceData != null) {
        parent.getDeviceNetworkProfilePanel().refresh(aroTraceData);
    }
}
Also used : WifiPlot(com.att.aro.ui.view.diagnostictab.plot.WifiPlot) RadioPlot(com.att.aro.ui.view.diagnostictab.plot.RadioPlot) ThroughputPlot(com.att.aro.ui.view.diagnostictab.plot.ThroughputPlot) TemperaturePlot(com.att.aro.ui.view.diagnostictab.plot.TemperaturePlot) StreamingVideoData(com.att.aro.core.videoanalysis.pojo.StreamingVideoData) VideoEvent(com.att.aro.core.videoanalysis.pojo.VideoEvent) BluetoothPlot(com.att.aro.ui.view.diagnostictab.plot.BluetoothPlot) ConnectionsPlot(com.att.aro.ui.view.diagnostictab.plot.ConnectionsPlot) WakeLockPlot(com.att.aro.ui.view.diagnostictab.plot.WakeLockPlot) DLPacketPlot(com.att.aro.ui.view.diagnostictab.plot.DLPacketPlot) ScreenStatePlot(com.att.aro.ui.view.diagnostictab.plot.ScreenStatePlot) BurstPlot(com.att.aro.ui.view.diagnostictab.plot.BurstPlot) AttenuatorPlot(com.att.aro.ui.view.diagnostictab.plot.AttenuatorPlot) SpeedThrottlePlot(com.att.aro.ui.view.diagnostictab.plot.SpeedThrottlePlot) LatencyPlot(com.att.aro.ui.view.diagnostictab.plot.LatencyPlot) RrcPlot(com.att.aro.ui.view.diagnostictab.plot.RrcPlot) CameraPlot(com.att.aro.ui.view.diagnostictab.plot.CameraPlot) NetworkTypePlot(com.att.aro.ui.view.diagnostictab.plot.NetworkTypePlot) VideoStream(com.att.aro.core.videoanalysis.pojo.VideoStream) VideoChunksPlot(com.att.aro.ui.view.diagnostictab.plot.VideoChunksPlot) TimeRange(com.att.aro.core.packetanalysis.pojo.TimeRange) Range(org.jfree.data.Range) Point(java.awt.Point) BatteryPlot(com.att.aro.ui.view.diagnostictab.plot.BatteryPlot) XYPlot(org.jfree.chart.plot.XYPlot) CombinedDomainXYPlot(org.jfree.chart.plot.CombinedDomainXYPlot) AlarmPlot(com.att.aro.ui.view.diagnostictab.plot.AlarmPlot) GpsPlot(com.att.aro.ui.view.diagnostictab.plot.GpsPlot) PacketInfo(com.att.aro.core.packetanalysis.pojo.PacketInfo) Map(java.util.Map) EnumMap(java.util.EnumMap) TreeMap(java.util.TreeMap) UserEventPlot(com.att.aro.ui.view.diagnostictab.plot.UserEventPlot) CpuPlot(com.att.aro.ui.view.diagnostictab.plot.CpuPlot)

Aggregations

PacketInfo (com.att.aro.core.packetanalysis.pojo.PacketInfo)1 TimeRange (com.att.aro.core.packetanalysis.pojo.TimeRange)1 StreamingVideoData (com.att.aro.core.videoanalysis.pojo.StreamingVideoData)1 VideoEvent (com.att.aro.core.videoanalysis.pojo.VideoEvent)1 VideoStream (com.att.aro.core.videoanalysis.pojo.VideoStream)1 AlarmPlot (com.att.aro.ui.view.diagnostictab.plot.AlarmPlot)1 AttenuatorPlot (com.att.aro.ui.view.diagnostictab.plot.AttenuatorPlot)1 BatteryPlot (com.att.aro.ui.view.diagnostictab.plot.BatteryPlot)1 BluetoothPlot (com.att.aro.ui.view.diagnostictab.plot.BluetoothPlot)1 BurstPlot (com.att.aro.ui.view.diagnostictab.plot.BurstPlot)1 CameraPlot (com.att.aro.ui.view.diagnostictab.plot.CameraPlot)1 ConnectionsPlot (com.att.aro.ui.view.diagnostictab.plot.ConnectionsPlot)1 CpuPlot (com.att.aro.ui.view.diagnostictab.plot.CpuPlot)1 DLPacketPlot (com.att.aro.ui.view.diagnostictab.plot.DLPacketPlot)1 GpsPlot (com.att.aro.ui.view.diagnostictab.plot.GpsPlot)1 LatencyPlot (com.att.aro.ui.view.diagnostictab.plot.LatencyPlot)1 NetworkTypePlot (com.att.aro.ui.view.diagnostictab.plot.NetworkTypePlot)1 RadioPlot (com.att.aro.ui.view.diagnostictab.plot.RadioPlot)1 RrcPlot (com.att.aro.ui.view.diagnostictab.plot.RrcPlot)1 ScreenStatePlot (com.att.aro.ui.view.diagnostictab.plot.ScreenStatePlot)1