Skip to content
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

perf(1) map not working with --perf-basic-prof-only-functions #622

Closed
lukealbao opened this issue Oct 14, 2023 · 2 comments
Closed

perf(1) map not working with --perf-basic-prof-only-functions #622

lukealbao opened this issue Oct 14, 2023 · 2 comments

Comments

@lukealbao
Copy link

Hi!

We've been running our production workloads with the --perf-basic-prof-only-functions flag and recording profiles with perf(1) with great success on node 14. Recently we upgraded to v16 and all the JIT symbols have been lost.

I ran two instances of the same code on node 16.

With --perf-basic-prof:

head /tmp/perf-1.map
1561c20 53c Builtin:RecordWriteEmitRememberedSetSaveFP
1562160 1c4 Builtin:RecordWriteOmitRememberedSetSaveFP
1562340 26c Builtin:RecordWriteEmitRememberedSetIgnoreFP
15625c0 d0 Builtin:RecordWriteOmitRememberedSetIgnoreFP
15626a0 160 Builtin:EphemeronKeyBarrierSaveFP
1562820 74 Builtin:EphemeronKeyBarrierIgnoreFP
15628a0 3c Builtin:AdaptorWithBuiltinExitFrame
15628e0 148 Builtin:CallFunction_ReceiverIsNullOrUndefined
1562a40 180 Builtin:CallFunction_ReceiverIsNotNullOrUndefined
1562be0 19c Builtin:CallFunction_ReceiverIsAny

With --perf-basic-prof-only-functions:

head /tmp/perf-1.map
7feddb4ccb00 8f8 RegExp:\/[*/]#\s+sourceMappingURL=(?<sourceMappingURL>[^\s]+)
7feddb4cd460 5f4 RegExp:(?:^|\/)\.?\.$
7feddb4cf9c0 5dc RegExp:\/[*/]#\s+sourceMappingURL=(?<sourceMappingURL>[^\s]+)
7feddb4d0000 768 RegExp:^((?:@[^/\\%]+\/)?[^./\\%][^/\\%]*)(\/.*)?$
7feddb4d27e0 a8a4 RegExp:(^|\\|\/)((\.|%2e)(\.|%2e)?|(n|%6e|%4e)(o|%6f|%4f)(d|%64|%44)(e|%65|%45)(_|%5f)(m|%6d|%4d)(o|%6f|%4f)(d|%64|%44)(u|%75|%55)(l|%6c|%4c)(e|%65|%45)(s|%73|%53))(\\|\/|$)
7feddb4dd100 3c0 RegExp:%2F|%5C
7feddb4e9160 25c RegExp:^\uFEFF
7feddb4f4520 360 RegExp:[\\^$.*+?()[\]{}|]
7feddb4f48e0 68c RegExp:hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])
7feddb4f4fe0 4a4 RegExp:^function.*?\(\) \{ \[native code\] \}$

#407 (comment) notes that support for perf is traditionally unofficial but does work (up to v14, as of that comment). Was support officially or effectively abandoned in v16? Thanks!

@RafaelGSS
Copy link
Member

See nodejs/node#50079

@lukealbao
Copy link
Author

I'll pick this up over at node#50225

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants