Cross-posted on Stack Overflow - https://stackoverflow.com/q/64105606/412107.
If my Mac app hangs, it generates diagnostic files that end in .hang or .cpu_resource.diag. They look somewhat like crash reports, but with deep tab-indented hierarchies of what looks like process samples.
Example:
Powerstats for:	MyApp [13095] thread 0x9b152
UUID:						35BE255F-F3B3-3188-B1E4-12E96CAAD397
Start time:			2020-09-26 15:37:35 -0500
End time:				2020-09-26 15:39:03 -0500
Parent:					launchd
Microstackshots: 55 samples (47%)
Primary state:	 52 samples Frontmost App, User mode, Thread QoS User Interactive
User Activity:	 0 samples Idle, 55 samples Active
Power Source:		0 samples on Battery, 55 samples on AC
	55 start + 1 (libdyld.dylib) [0x7fff8bed55ad]
		55 main + 121 (MyApp) [0x108ee8d5f]
			55 NSApplicationMain + 1176 (AppKit) [0x7fff8ffed368]
				55 -[NSApplication run] + 682 (AppKit) [0x7fff90023d80]
					55 -[NSApplication _nextEventMatchingEventMask:untilDate:inMode:dequeue:] + 454 (AppKit) [0x7fff9002f226]
						55 _DPSNextEvent + 1067 (AppKit) [0x7fff9002fdf6]
							55 _BlockUntilNextEventMatchingListInModeWithFilter + 71 (HIToolbox) [0x7fff866e35af]
								55 ReceiveNextEventCommon + 184 (HIToolbox) [0x7fff866e3677]
									55 RunCurrentEventLoopInMode + 235 (HIToolbox) [0x7fff866e3935]
										55 CFRunLoopRunSpecific + 328 (CoreFoundation) [0x7fff973d5e48]
											55 __CFRunLoopDoObservers + 391 (CoreFoundation) [0x7fff973f6f37]
												55 CFRUNLOOP_IS_CALLING_OUT_TO_AN_OBSERVER_CALLBACK_FUNCTION + 23 (CoreFoundation) [0x7fff973f6fc7]
													55 CA::Transaction::observer_callback(__CFRunLoopObserver*, unsigned long, void*) + 71 (QuartzCore) [0x7fff99fcf863]
...and on and on, much deeper
How do I interpret these diagnostic files? Can someone link to some Apple documentation of them?