Changelogs » Viztracer

PyUp Safety actively tracks 266,461 Python packages for vulnerabilities and notifies you when to upgrade.



* VizTracer supports log_func_exec now to log function executions
  * Fixed a small bug in vdb




VizTracer can log any variable without changing the source code now.


* python 3.9 is officially supported.
  * --open is added


* Now include/exclude files only check python functions.
  * viztracer command will convert the file to abs path
  * add example scripts


Use binary to read the script to avoid encoding conflict.
  Also force using utf-8 to read the html file because that's how we check it in.


VizTracer can log garbage collector operation now.
  Fixed a potential double decref issue.


VizLogging, VizObject and VizCounter can handle tracer = None now.
  Use get_tracer() instead of the global variable __viz_tracer__
  added a filter ignore_non_file


* You can automatically log function arguments now
  * You can add --novdb to reduce the instrument cost
  * vdb now checks the version of the json file


tracer can be accessed globally now if viztracer is used. Some bug fixes


Default tracer_entries is reduced so all computers can open the report with no issues.
  Counter and Objects can be displayed in vdb now


You can debug between multiple processes/threads now.
  add a couple commands and fixed some bugs in source file displaying


Virtual debug feature is introduced but still in alpha. You can debug your json report now.


Now if the file name does not exist, VizTracer will try to find its absolute path by using which on Linux/MacOS. This can make VizTracer run on flask.


Fixed the bug in add_functionarg().
  Reduced the overhead by moving converting data to parsing phase. Should save some run time memory as well.


We can log function arguments now. Also we have a handler for logging module.


tracer_entries can be set through VizTracer now


We converted to circular buffer so we can log forever!


Underlying C structure for the module is changed. Most global variables are moved to objects, which means each VizTracer object actually has their own set of data.
  We support module run now with viztracer -m module
  trace_and_save is added to periodically save trace in a long program
  --log_return_value is supported
  some fixes on fork_save


Fix flamegraph, it's been not working for a while and I did not realize it.
  Fix important command line bugs, where "__name__" is not __main__. Also not even the script run exit() in their code, they will have trace.
  Added secret feature fork_save, has not documented it yet. That's prepared for the next "profile as you run" feaature


0.4.0 is the same as 0.3.4, We boosted the minor version for Windows support.


We now support Windows! viztracer can be directly called through console command viztracer


VizTracer now supports gz file, which could save disk space significantly while still being compatible with Chrome.
  Several optimizations were applied
  * include/exclude files overhead is reduced by not using realpath
  * with orjson, json can be directly dumped without decoding and encoding again
  * class name is not read anymore
  * thread id now makes more sense on both linux and mac


Unified the customized event VizCounter and VizObject. Now they have similar interface and it's easier to use them. Also fixed a source tar error that the header file is not included in the .tar file.


Two custom events are added, Counter and Object. Now the users have more ways to log their data structures


Multi-process is supported. Help message is polished.


Timestamp is fixed. It was off by 1000x. Input check is implemented.


A very important optimization which cut file size in half and speed up everything is applied. Also you can overload print and ignore function now.
  A MacOS triggered bug is fixed, also C_EXCEPTION return is fixed.


VizTracer is capable of generating flamegraph now.


0.2.0 is the same as 0.1.3. All features listed for 0.2.0 is finished so we promote the minor version.