Skip to content

Call-oriented LoggingΒ #9562

@i2h3

Description

@i2h3

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.

Metadata

Metadata

Assignees

Labels

Projects

Status

🧭 Planning evaluation (don't pick)

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions