文件最后提交记录最后更新时间
Allow thread errors and their traces to be properly recorded in crashdumps (#5910) until now, any thread crash would show as a generic crash since we aren't able to get the trace from the crashed thread directly. This uses some dirty tricks to export a partially serialized stack trace to the main thread, where it can be written into a crashdump. This enables us to see proper crash information for async tasks in the crash archive (finally!!!) as well as being able to capture RakLib errors properly.2 年前
Mark AsyncPoolWorkerEntry as @internal 2 年前
Update composer dependencies 2 个月前
This timings handler management is a crap design This has bitten me on the ass so many times now1 年前
PHPStan 2.0 fixes 1 年前
Align PhpDoc @param tags according to PHP-CS-Fixer 3 年前
Use PHP-CS-Fixer to enforce file header presence 3 年前
Use PHP-CS-Fixer to enforce file header presence 3 年前
Separate memory dumping utilities from MemoryManager 1 年前
Use PHP-CS-Fixer to enforce file header presence 3 年前
Add generic types for TaskHandler (#6030) 1 年前
Add generic types for TaskHandler (#6030) 1 年前
Add generic types for TaskHandler (#6030) 1 年前
Support for collecting timings from threads, and implement async task timings (#6333) The following callbacks can now be registered in timings, to allow threads to be notified of these events: - Turning on/off (`TimingsHandler::getToggleCallbacks()->add(...)`) - Reset (`TimingsHandler::getReloadCallbacks()->add(...)`) - Collect (`TimingsHandler::getCollectCallbacks()->add(...)`) Collect callbacks must return `list<Promise>`. The promises must be `resolve()`d with `list<string>` of printed timings records, as returned by `TimingsHandler::printCurrentThreadRecords()`. It's recommended to use 1 promise per thread. A timings report will be produced once all promises have been resolved. This system is used internally to collect timings for async tasks (closes #6166). For timings viewer developers: Timings format version has been bumped to 3 to accommodate this change. Timings groups should now include a `ThreadId` at the end of timings group names to ensure that their record IDs are segregated correctly, as they could otherwise conflict between threads. The main thread is not required to specify a thread ID. See pmmp/timings@13cefa6279ee8866dc584b9a7977a9c09cecd732 for implementation examples. New PHPStan error is caused by phpstan/phpstan#109241 年前
Support for collecting timings from threads, and implement async task timings (#6333) The following callbacks can now be registered in timings, to allow threads to be notified of these events: - Turning on/off (`TimingsHandler::getToggleCallbacks()->add(...)`) - Reset (`TimingsHandler::getReloadCallbacks()->add(...)`) - Collect (`TimingsHandler::getCollectCallbacks()->add(...)`) Collect callbacks must return `list<Promise>`. The promises must be `resolve()`d with `list<string>` of printed timings records, as returned by `TimingsHandler::printCurrentThreadRecords()`. It's recommended to use 1 promise per thread. A timings report will be produced once all promises have been resolved. This system is used internally to collect timings for async tasks (closes #6166). For timings viewer developers: Timings format version has been bumped to 3 to accommodate this change. Timings groups should now include a `ThreadId` at the end of timings group names to ensure that their record IDs are segregated correctly, as they could otherwise conflict between threads. The main thread is not required to specify a thread ID. See pmmp/timings@13cefa6279ee8866dc584b9a7977a9c09cecd732 for implementation examples. New PHPStan error is caused by phpstan/phpstan#109241 年前