-
Notifications
You must be signed in to change notification settings - Fork 30
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Node 0.10.3 Keep getting entries: unknown code state: undefined #11
Comments
Similar problem--I get a surge of It looks like
But I don't understand the v8.log format, so I don't understand what it should do. |
It's on my TODO list. The issue is that the v8.log file layout changes between V8 releases. My plan is to bundle tick processors from all major releases and select the appropriate one based on the value of |
What's the best way to get a tick processor from the latest version of v8? I'm having issues like:
I'm not sure that |
From the top-level directory of the node.js tarball or git checkout, cd into deps/v8 and run By the way, you don't want the latest version of V8 - you want the version that generated the log file, i.e. the version of V8 that's bundled with node.js. |
Thanks for the detailed explanation. It's amazing how hard it is to find that answer online (lots of answers, all wrong/outdated). Gotcha with the version - what I should have said was, I have the latest version, so I need to figure out how to build the latest tick processor. |
Do you have any insights on which flags to use to get the best profiling? So far I've had zero success with anything other than |
|
Cool, I was hoping to start with the profiler disabled (prof_lazy) but in that mode no output is recorded. make -j8 native gives me |
Oh, it's possible the tarball doesn't contain deps/v8/test - in that case try cloning the git repo. BTW, --prof_lazy is often broken. |
Aha, thanks for the heads up. It didn't seem to really do anything. Instead I'm just running In case someone else runs into this problem, I'm going to start debugging here if the git repo doesn't help: |
I switched to v 0.10.5 to match Oh, I just noticed the last update was seven months ago. So the pull hasn't been done yet? |
Sorry to be a pain, but i finally looked at the pull request page and I see that I have to add a dependency to the package.json. I did this copying the json provided there. I tried the following and got an unmet dependency. Can someone help me?
|
What old version of node should I run to make this work without using the pull request? |
May I know which version of V8 and Node can work with node-profiler? |
I cloned the repository and tried
|
You need to have gyp installed and symlink it in build/gyp. You can use the gyp that ships with node in tools/gyp. |
I ran into compile errors after that and gave up. However, copying deps/v8/tools/tickprocessor.js into place in a node-profiler checkout and rerunning build-nprof gave me a working nprof. |
Are there any updates on this? I am experiencing this type of output from tick-processor (mac-tick-processor from v8 source) and profviz on Mac OSX 10.9.5, node v0.10.33, V8 version 3.31.0 |
See nodejs/node#158. I think this would be best solved by shipping a known-good tick profiler script with every io.js / node.js release. I'm going to prepare a patch that adds version information to the v8.log file, to make it possible to discriminate between log files from different V8 versions. |
Edit: forgot that I was on your personal repo and not in joyent/node. Will try to find appropriate place there to say the same thing. @bnoordhuis Good to see there are some ideas around this! It's cool that iojs may host a solution to profiling, but I do think @joyent ought to be concerned with CPU profiling as not everyone is going to be willing to host on SmartOS or illuminos-based OSes w/ DTrace to profile their applications. My personal applications usually don't have to support the kind of volume my employers do, so normally I'm not profiling (even though of course I should be), but when asked "Why is this call blocking?"/ "Why are we at 100% CPU consistently for this request?" we definitely need to be able to understand where the bottleneck is on whatever OS they are using (especially common ones like Ubuntu, CentOS & other Amazon AWS instances) and best-case-scenario local dev machines (Mac OSX, Windows) |
that would be very useful. node-tick-processor currently tries to guess format based on first occurrence of version-specific entry but it's not very reliable |
I have this issue in all the versions of Node.js where I try to extract a profile information from the v8.log: 0.10.0, 0.10.3, 0.10.4, 0.10.36, 0.10.37. In all cases I have On which version and with which params and which tick-processor can it works? |
When parsing the log with nprof i am simply getting giant volume of :
And then:
The text was updated successfully, but these errors were encountered: