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

core dump from settings and hot key #1573

Closed
7 of 8 tasks
jessfraz opened this issue Feb 29, 2024 · 7 comments
Closed
7 of 8 tasks

core dump from settings and hot key #1573

jessfraz opened this issue Feb 29, 2024 · 7 comments
Labels
enhancement New feature or request feature Feature Requests

Comments

@jessfraz
Copy link
Contributor

jessfraz commented Feb 29, 2024

we should allow a user to "core dump" the app information into a zip file from the settings

HOTKEY is command + shift + .

this information should include:

cc @franknoirot @Irev-Dev for any other relevant state and @paultag for any webrtc data we might want to collect

then users can just upload this data to github and we can look it over, will make our lives so much easier

@jessfraz jessfraz added enhancement New feature or request feature Feature Requests labels Feb 29, 2024
@jessfraz jessfraz added this to the v1 Modeling App Launch milestone Feb 29, 2024
@paultag
Copy link
Collaborator

paultag commented Feb 29, 2024

Core must-have WebRTC metrics I'd love in a tombstone like this via the WebRTC metrics JavaScript stubs:

  • packetsLost
  • framesReceived/s
  • frameWidth
  • frameHeight
  • framesPerSecond
  • keyFramesDecoded
  • framesDropped
  • pauseCount
  • totalPausesDuration
  • freezeCount
  • totalFreezesDuration
  • pliCount

I don't know offhand how to get the following (but I want to see if we can):

  • decoderImplementation
  • powerEfficientDecoder

@paultag
Copy link
Collaborator

paultag commented Mar 1, 2024

Specific javascript breadcrums for the above:

We likely need to pull the RTCStatsReport via the RTCPeerConnection.getStats() call, which is accessible from this.pc? and this.mediaStream in engineConnection.js; an example of collecting some of the stats we report via the WebSocket connection is here

@Irev-Dev
Copy link
Collaborator

Irev-Dev commented Mar 4, 2024

There should be a way to grab all fo the xstate history,
There are a few singleton classes that are probably easy to just serialise and dump out as well.

@franknoirot
Copy link
Collaborator

franknoirot commented Mar 5, 2024

What about Ctrl + Shift + Mod + ? for the keyboard shortcut?

Here's the settings, state and history I'd be thinking, plus the ZIP folder layout:

  • manifest.json
    • app version (available as a lib value, we display in Settings.tsx)
    • timestamp
    • browser
    • isTauri
    • OS
  • screenshot.png
  • connection/
    • (everything Paul mentioned above)
    • missing pause stats from above
  • singletons/ (the classes Kurt mentioned above)
    • KclSingleton
    • SceneInfra
    • EngineCommandManager
    • SceneEntitiesManager
    • EditorManager
  • xstate/
    • modelingMachine XState context & history
    • settingsMachine XState context & history
    • authMachine XState context & history
    • homeMachine XState context & history (if in Tauri)
    • commandBarMachine XState context & history

This was referenced May 10, 2024
@dshaw
Copy link
Contributor

dshaw commented May 25, 2024

EngineCommandManager singleton implemented in the branch coredump-clientstate

@dshaw
Copy link
Contributor

dshaw commented Jun 21, 2024

I'm pretty sure the last item, console.log, is fully implemented in #2653. To validate. Open the developer console in the browser, then trigger a core dump with Shift-META-.. There are a couple console entries that let you know that things are happening. If there are any errors, that will output to the console. When the core dump is complete a JavaScript object representation of the core dump is logged followed by a stringified version which can be copied directly from the console and inspected.

I went ahead and ticked it off. Please revert if there are any further expectations not fulfilled in the v0.22.3 release.

@jessfraz Did you have anything else in mind?

@jessfraz
Copy link
Contributor Author

the last thing (integrating into the button) has its own issue so ill close this thanks @dshaw !

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request feature Feature Requests
Projects
None yet
Development

No branches or pull requests

5 participants