Comments (3)
Hi @xieve!
Happy to take it provided that...
- It doesn't require bringing in any large dependencies or cause performance problems elsewhere (by e.g. being expensive to detect what kind of profile it is)
- You're comfortable being a point of contact for changes needed to it
- You're able to write tests for it to ensure it doesn't break over time
from speedscope.
- It doesn't require bringing in any large dependencies or cause performance problems elsewhere (by e.g. being expensive to detect what kind of profile it is)
The file ending is .log
, which is not used yet and unlikely to be used elsewhere. The contents are plain text and look like this:
Script_abc_runner_quest log opened (PC)
21171:PUSH:3053:1:abcRunnerQuest (24021278):abc_runner_quest..iAmInitialized
21171:POP:3053:1:abcRunnerQuest (24021278):abc_runner_quest..iAmInitialized
21171:PUSH:3053:1:abcRunnerQuest (24021278):abc_runner_quest..isInitInProgress
21171:POP:3053:1:abcRunnerQuest (24021278):abc_runner_quest..isInitInProgress
We can easily detect that header.
- You're comfortable being a point of contact for changes needed to it
Absolutely.
- You're able to write tests for it to ensure it doesn't break over time
I don't have any experience writing tests so far, but I'm familiar with the concept. I'll take a look at the docs.
Another issue to take note of: This profiler tends to output "malformed" data. Here are two examples I encountered while writing the parser:
at 1 open a
at 2 open b
at 3 close a
at 3 close b
at 1 close a
at 2 open b
at 3 close b
I wrote a heuristic algorithm that fixes these and possibly even worse cases. Alternatively, I could detect those cases and throw them out.
from speedscope.
The file ending is .log, which is not used yet and unlikely to be used elsewhere. The contents are plain text and look like this:
Sounds good! If you look at
speedscope/src/import/index.ts
Line 92 in 741fdeb
.log
extension.
I don't have any experience writing tests so far, but I'm familiar with the concept. I'll take a look at the docs.
Yeah, take a look at how the snapshot tests work. See, for example https://github.com/jlfwong/speedscope/blob/main/src/import/bg-flamegraph.test.ts
Another issue to take note of: This profiler tends to output "malformed" data. Here are two examples I encountered while writing the parser:
Will leave this to your discretion, since I'd be routing any bug reports to you
from speedscope.
Related Issues (20)
- Link display to source code HOT 3
- Frame label truncates to second last character instead of last
- Callgrind import error HOT 5
- Rendering issues with Chrome and Edge on Linux Mint
- Chrome 114 profiler output change result in speedscope not rendering the stack trace anymore HOT 4
- Aggregation methods for size-values in Sandwich view?
- Maximum call stack size exceeded
- Importing a large linux perf file will crash the application HOT 3
- [Question] How to see frame instances count HOT 1
- when i use this, how can i get release when i change it?
- output for speedscope format is not loaded in Firefox in Ubuntu unless it has .json extension HOT 12
- Tooltip partially hidden under mouse HOT 2
- Add A/B comparison support HOT 6
- souremaps arent being applied HOT 5
- Could not import the json example into www.speedscope.app HOT 1
- Not support non-systemwide perf result HOT 3
- Ability to pass data encoded
- Callgrind inputs: Some called functions along with their callees are detached from the rest of execution at the root level HOT 1
- Incorrect rendering with long traces (thousands of seconds)
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 speedscope.