     // MARK: - Private Methods
 
     @objc private func applicationPollingTimerFired(timer: Timer) {
+        os_signpost(.begin, log: log, name: "Poll Applications")
         pollSpotify()
         pollAudioHijackPro()
+        os_signpost(.end, log: log, name: "Poll Applications")
     }
 
     /// ID of the track playing in Spotify when it was last polled.


    // Synchronise the internal AHP state
    internal func pollAudioHijackPro() {
        _isRecording = isRecording
        _isMuted = isMuted
    }

    /// Starts a new recording in AHP and resets Spotify's play position. If there is no new track, ends the current
    /// Spotijack session.
    private func startNewRecording() throws {
        // Check we can still communicate with the recording session
        let spotijackSessionBridge = try self.spotijackSessionBridge.get()

        // End the session if there are no more tracks
        guard let currentTrack = currentTrack else {
            stopSpotijacking()
            return
        }

        // Start a new recording
        _isRecordingTempDisabled = true


    // Synchronise the internal Spotify state
    internal func pollSpotify() {
        os_signpost(.begin, log: log, name: "Poll Spotify")
        // Accessing properties on an SBObject is expensive so the state checks in this method are ordered to minimise
        // the number of SBObject properties queried.

