Comments (4)
Qvis can't handle the above example because the files are hosted on localhost. Loading files using option 4 requires backend support. The addition of the %20etc.
string actually makes the frontend download check fail. Perhaps not the most elegant way of doing this?
The backend additionally merges the provided qlogs into one qlog containing the traces from the respective qlogs. I don't' think this is problematic in itself, but Qvis has no clear way of differentiating between the provided qlogs.
Two aioquic traces provided via option 4
The same two aioquic traces provided via option 1
A possible solution (the easiest one probably) would be to move the backend looping behaviour to the frontend and to perform a backend fetch request for each individual file if it can't be downloaded via de fetch API. This would allow local hosted files to be uploaded via option 4 and it would also solve the differentiation issue mentioned above at the cost of a couple more requests. I do, however, not know how the list
parameter behaves. If it also returns a singular qlog with merged traces, then maybe we should be looking for a better way of differentiating traces if they originate from different qlogs?
from qvis.
I guess, I'm experiencing the same issue, when I try to load file not hosted on localhost
using this URL:
I'm trying to load the two qlog files:
- https://interop.sedrubal.de/logs/logs_sat_2021-09-12/ngtcp2_quic-go/sat/1/client.qlog
- https://interop.sedrubal.de/logs/logs_sat_2021-09-12/ngtcp2_quic-go/sat/1/server.qlog
This is the error message shown in qvis:
from qvis.
So, this is a gift that keeps on giving... There are several issues in play at the same time here.
There is a partial fix in the commit above (and live on qvis.quictools.info), but I don't think this (fully) fixes things for either of you...
@sedrubal's problem was that adding "etc." produces a 404 instead of CORS error, which caused the fallback to the backend server to fail. However, I couldn't just remove the "etc." as @MikeV-1642883 suggested, because that would lead to just the "file1" being downloaded, and the rest ignored if that single file was directly downloadable (I've added comments to describe this).
This part is now fixed, but the next problem is that the files @sedrubal's trying to load are in the NDJSON format, which is currently not supported by the qvis backend, only the frontend... so the files now properly get sent to the backend, but it borks on the "malformed JSON". Since the NDJSON approach will be changed in the near future, I won't be adding that to the backend anytime soon. It should work though if you load qlog files not in NDJSON format (e.g., from aioquic instead of quic-go).
This fix doesn't do anything for @MikeV-1642883's multiple-localhost-files problem, which is more complex. To do this without backend fallback, I'd have to fully directly load multiple files in the frontend, and then also have logic on what to do if say 1 out of 5 files fails to download, if there is no CORS enabled on one of the files, etc. This is why I hadn't really solved this issue yet...
The commit above is quite dirty because I didn't have much time to properly refactor this. It's clear this entire setup needs a good overhaul sometime, but sadly I don't have time to do this atm.
from qvis.
Thanks @rmarx for figuring that out
from qvis.
Related Issues (20)
- Duplicate error guesstimation in packetization diagram
- Allow manually changing trace VantagePoint
- improve the RTT diagram HOT 4
- Improve ACK visualization for large amounts of ACKs / large packet numbers HOT 2
- Change handling of auto-generated traces in sequence diagram
- Add a (simple) query language / CLI interface HOT 1
- Add ability to download sequence diagrams as svg HOT 4
- Improve congestion packet hover details by taking into account event order/index
- Bug in live version -- only display first few packets in sequence view HOT 2
- Visualize pacing_rate HOT 2
- Bug in live version--qvis not able to upload qlog files for Visualization. HOT 5
- Visualizing Streams in Qlogs HOT 1
- Import Qlogs from a different computer HOT 2
- Maybe can support the odd number stream id in the multiplexing? HOT 2
- Bug in live version
- Bug in live version | It seems the website is down HOT 1
- Extracting qlog files from Firefox HOT 2
- When I load a 300M qlog file, the website crashes HOT 2
- "Option N" text overlaps with heading on screens that are <768px wide HOT 1
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
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.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from qvis.