Comments (4)
For a while, the official perfetto does not allow opening a trace file through http for security reasons. Things might have changed by now, but that's not the major reason why I had a vendored perfetto.
The perfetto vizviewer uses is actually customized. If you use vizviewer, you'll find that the source code of the function is displayed on the right bottom when you click on a specific function. If you are using VSCode extension, double click the function will open the corresponding file and scroll to the lines in VSCode. Those are features that are critical but will never be provided by Perfetto. Another thing is the flamegraph - perfetto does not support it well last time I checked.
What kind of performance did you observe that is worse? The time before opening the browser? The time after the browser is opened before the trace is fully loaded? Or the ability to zoom in & out? I doubt it's the version - Perfetto updates very frequently so v37 and v42 might not have that much a difference. (Of course there might be a very important patch in between to significantly improve the performance, I'd be a little surprised if they can do that).
I suspect the performance difference you observe is the time for vizviewer to parse the json file to do some customized stuff - which has nothing to do with Perfetto.
That being said, you'll always have the option to use the original (and up to date) Perfetto if you don't want the fancy feature, but I believe the customized Perfetto is often more helpful in the actual debugging/profiling (at least for me).
from viztracer.
Oh another catch for using the compiled version - you don't need the access to the internet to use it. Yes the official Perfetto can be used without internet once cached, but it still requires internet connection at least once. Might not be a huge factor for most developers, but it is useful for people with limited network resource due to different reasons (for example, security).
from viztracer.
I did not notice the function source code 🤦🏻 That is definitely useful feature and justifies fully the vendoring.
The performance difference I noticed is general navigation speed / zooming in / out.
Thank you for explaining your reasoning, this can be closed as this was more of a question really :)
from viztracer.
If there's a performance difference in navigating then yeah probably that's caused by the versions. I normally update Perfetto version for every minor version for VizTracer and we will see if the next update fixes it.
from viztracer.
Related Issues (20)
- NameError: name 'false' is not defined. Did you mean: 'False'? HOT 1
- 0.16.2: pytest fails in 8 units HOT 10
- 0.16.2: sphinx warnings `reference target not found` HOT 3
- VizTracer 能否可视化python 模块和类之间的调用关系,在分析不熟悉的项目时很有用? 类似于开源库pyan(已经停止维护了) HOT 2
- 可以为VS Code插件 在"设置"中提供 "默认运行参数" 的修改么? HOT 1
- AttributeError: Can't get attribute 'Bar' on <module '__main__' from 'miniconda3/envs/3.12.0/bin/viztracer'>
- Uncaught compile error when attempting to view traces using vizviewer HOT 3
- 请问,使用vizviewer时,如何指定监听的IP和port? HOT 1
- jupyter integration not working properly on remote jupyter lab HOT 2
- Test failed on Arch Linux against Python 3.12 HOT 6
- asyncio.create_subprocess_shell().communicate() hangs HOT 6
- 无法绑定ip及jupyter中无法更改端口号 HOT 1
- Gives warning: "Found and ignore invalid json file, you may lost some process data." HOT 6
- doesn't pick up existing threads at launch HOT 4
- VizTracer not tracing some functions HOT 1
- Build wheels for free-threading version HOT 3
- [optimize] always add quotes when printing file path HOT 2
- Is it possible to record the function in which tracer is stopped? HOT 3
- Viztracer/vizviewer displays only 1 of N threads with the same name 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 viztracer.