Call-oriented Logging
- Dominant language
- C++
- Stars
- 3.9k
- Forks
- 1k
- Avg merge
- 1d 17h
- Merged PRs (30d)
- 123
Description
## Problem
The highly concurrent working environment of file provider extensions sometimes makes it hard to reason about their serialized logs which contain messages of occasionally concurrent processes ordered by time instead of context.
## Goal
Significantly improve insights on the client-side events by being abled to distinguish log messages based on the individual system calls and enumerations.
## Solution
- Every incoming call to the `NSFileProviderReplicatedExtension` (including its extensions like `NSFileProviderThumbnailing`) creates a `UUID` which is considered to be the unique identifier for that call. It is passed down the call stack so all objects down the call stack can contextualize their log messages.
- Every enumeration in an `NSFileProviderEnumerator` implementation creates a UUID to identify it and its related messages later in the logs. The `UUID` is passed down the call stack so all objects down the call stack can contextualize their log messages.
Contributor guide
Assessment
This issue has not been assessed yet.