TimelineEntry

@objc
public class TimelineEntry : NSObject, UniquelyIdentifiable

Timeline Entries encapsulate all the lightweight representations of properties related to an action event to be stored in a timeline without any references to the original data. This is to prevent memory usage spiralling out of control while the app is running.

!!! TODO: Remove @objc and change entry to struct when Swift bug SR-6039/SR-55 is fixed.

  • The kind of event. We can record both the start and completion of actions

    See more

    Declaration

    Swift

    public enum Kind
  • Undocumented

    Declaration

    Swift

    public let kind: Kind
  • An incrementing ID for entries. Supports overflow, so it only unique when combined with the current date/time

    Declaration

    Swift

    public let sequenceID: UInt
  • A unique ID for the entry

    Declaration

    Swift

    public var uniqueID: String { get }
  • Indicates whether or not the action was performed directly by a user, or automatically by code

    Declaration

    Swift

    public let userInitiated: Bool
  • An indication of the source of the action. User initiated actions can come from multiple sources e.g. UI interactions or asking the system to open a URL

    Declaration

    Swift

    public let source: ActionSource
  • The date/time the event occurred

    Declaration

    Swift

    public let date: Date
  • The feature in which the action was invoked

    Declaration

    Swift

    public let feature: FeatureDefinition.Type
  • The session name in which the action was performed

    Declaration

    Swift

    public let sessionName: String
  • The name of the action

    Declaration

    Swift

    public let actionName: String
  • The human-friendly description of the input to the action

    Declaration

    Swift

    public let inputDescription: String?
  • The detailed debug description of the input to the action

    Declaration

    Swift

    public let inputInfo: [String : Any]?
  • The outcome of the action. This is nil unless kind is .complete.

    Declaration

    Swift

    public let outcome: ActionOutcome?
  • Undocumented

    Declaration

    Swift

    public override var description: String { get }