Giter VIP home page Giter VIP logo

Comments (6)

ergovschi avatar ergovschi commented on August 30, 2024

I think your solution adds a lot of unneeded complexity.

You should have only modified the DataFeeder. The classes TimeControlDataFeeder, TimeControlDataController are useless outside CSVDataFeeder (you cannot speed up time with a real data feeder) and it's not in data controller's logic to do that.

Adding the controls to the panel: Since the right panel extends JPanel you can pass it to the Data Feeder and the feeder can add stuff to it using panel.add() instead of having a special condition inside the RightPanel.

Please don't change the names of the classes. It becomes confusing.

from netvis.

ryft avatar ryft commented on August 30, 2024

Apologies for not being clear when importing these issues to github, but can we concentrate on completeness before adding extra functionality? It would be nice to get some more visualisations done and have the backend complete before working on any enhancements in earnest.

from netvis.

DominikPeters avatar DominikPeters commented on August 30, 2024

Thanks for your suggestions, and sorry for misinterpreting everything. I had the time logic in the DataFeeder before, but then some of the visualisation misunderstood a "pause" for "no packets are arriving". I'll try to move things and simplify later today.

from netvis.

ergovschi avatar ergovschi commented on August 30, 2024

You can get around that problem by supplying null instead of packets from the data feeder when the system is paused. And then in the data controller when it gets null it doesn't broadcast that new packets arrived.

from netvis.

ryft avatar ryft commented on August 30, 2024

Perhaps this is the incorrect place to discuss this, but the data controller seems to be providing a lot of single-packet iterations.

By examining the traffic volume visualisation under certain time scales, on most time intervals only one packet is being sent from the data controller on each newPacketsArrived() call. The packets in question are unpredictable and often not the same protocol, but are in line with what we'd expect from that capture, so are clearly just out of position. Large numbers of packets also arrive in regular intervals, so from this view it seems as if there is a timing problem where the graph is updating too fast for the data controller, but ultimately the speed of the graph is dictated by the data controller itself.

However, by looking at the data feeder I cannot see how this problem could arise, as getNewPackets() simply retrieves the next packets from the iterator as intuition suggests is correct. Could it be that the capture really exhibits this strange behaviour? I've convinced myself that it doesn't by opening the CSV in a spreadsheet and charting packets over time. (I'm testing with eduroam.csv but skype.csv seems to do the same).

This is what I'm talking about if you're unsure:
timing

By refusing to process iterations with <= 1 packet arriving, the graph looks like this:
timing2
(more like what I'd expect, colours are randomised)

from netvis.

ryft avatar ryft commented on August 30, 2024

Panic over, apologies for the brain ache. The data feeder was updating per second but the data controller update interval was set to 100ms.

I am now a happy bunny :)

from netvis.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.