Code Monkey home page Code Monkey logo

cpupro's People

Contributors

lahmatiy avatar sureshpradhana avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar

cpupro's Issues

Todo / Roadmap

Input formats

  • Chromium Performance Profile
    • Extract additional events like compute styles, layout, compile code etc
  • Edge Enhanced Performance Traces (.devtools)
  • V8 log preprocessed with --preprocess
    • Scripts
    • Function state transitions
  • Raw V8 log
  • Support for Firefox/Safari profiles Postponed until done with V8

Integrations

API

  • Marks (smth like performance.mark() / performance.measure())
  • setSamplingInterval
  • cpupro -- script.js ...params as an alternative to node --require cpupro script.js ...params

Data (capturing & processing)

  • Fix total time computation
  • Bring file:///path/... and /path/... to one form
  • Exclude startProfiling/stopProfiling frames from the profile
  • Attach RegExp location to a parent call frame
  • Populate collected profile with code fragments This data can be obtained from V8 log

Viewer

  • Switch between threads (for Chromium timeline profiles with multiple threads)
  • Marks on timelines
  • Flow view
  • Tree with columns view
  • Keyboard navigation in trees / tables
  • Flame charts
  • Example data
  • Instructions how to capture profile file

how report.html be designed?

how report.html be designed?
Or how to covert cpuprofile to a list like
Array<{
costTime: number,
functionName: string,
}>

Module did not self-register

Hey I'm trying to hook this up to the webpack build process, but getting this:

Error: Module did not self-register: '/home/ken/workspace/tmp1/node_modules/v8-profiler-next/build/Release/profiler.node'.

repros in WSL and on Windows.

  System:
    OS: Linux 5.10 Ubuntu 20.04.3 LTS (Focal Fossa)
    CPU: (64) x64 AMD Ryzen Threadripper 3970X 32-Core Processor
    Memory: 57.68 GB / 62.75 GB
    Container: Yes
    Shell: 5.0.17 - /bin/bash
  Binaries:
    Node: 16.14.0 - ~/.nvm/versions/node/v16.14.0/bin/node
    Yarn: 1.23.18 - /usr/bin/yarn
    npm: 8.3.1 - ~/.nvm/versions/node/v16.14.0/bin/npm
  Managers:
    Apt: 2.0.6 - /usr/bin/apt
    pip3: 20.0.2 - /usr/bin/pip3
    RubyGems: 3.1.2 - /usr/bin/gem
  Utilities:
    Make: 4.2.1 - /usr/bin/make
    GCC: 9.3.0 - /usr/bin/gcc
    Git: 2.25.1 - /usr/bin/git
  IDEs:
    Nano: 4.8 - /usr/bin/nano
    VSCode: 1.65.0 - /mnt/c/Program Files/Microsoft VS Code/bin/code
    Vim: 8.1 - /usr/bin/vim
  Languages:
    Bash: 5.0.17 - /usr/bin/bash
    Perl: 5.30.0 - /usr/bin/perl
    Python: 3.8.10 - /usr/bin/python
    Python3: 3.8.10 - /usr/bin/python3
    Ruby: 2.7.0 - /usr/bin/ruby
  Browsers:
    Chrome: 94.0.4606.61

Hairy CPU profile stalls out UI

Hey Roman! cpupro is badass. :D nice work
I just came across the project today. I'm excited to dig in and learn quite a few things.


But first thing I did was drag in a particularly heavy CPU profile. The tab gets totally hung (at least for 30sec).

Here's the repro: large-profile.cpuprofile.zip

I figured you'd want these cases. :)

You'll probably hear from me again soon. Cheers!

Show source files for vite bundled dependencies correctly

Hey, I stumbled upon this tool on your Twitter, and it is indeed very fast and nice to navigate Chrome profiles with it.
One issue I ran into is that when using vite (which pre-bundles JS dependencies), the output looks like this โ€“ instead of showing which source file the code comes from, it's just displayed as coming from the prebundled chunks:

image

While the function names are readable, where the methods are coming from is all just from the chunks that vite has generated.
I'm not entirely sure but I believe all that data (which files these methods actually come from) should be part of the source maps vite already generates.

Would it be possible to show better file information in the trace based on that? Or is that an issue with how chrome creates the trace file?

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.