Before the arrival of the unified log in Sierra, you could measure the time it took to do something simply by writing a few quick entries in the log, finding them in Console, and working out the time intervals. Trying to do this since has been much more of a challenge, and the limitations of the unified log and Console have put this out of the reach of many. At WWDC 2018, Apple announced that Mojave would bring a new lightweight system for this type of task: Signposts.
The snag with Signposts is that they’re only really accessible to developers building apps and other tools in Xcode. Writing them isn’t so accessible, particularly if you’re using a scripting system, and unless you can build or modify your own Xcode Instrument to harvest and analyse your Signpost, you can’t do much with any you do manage to write.
When Mojave came out, I put together a separate app, RouteMap, which can harvest and analyse any Signposts, and modified my command tool Blowhole so that any code with access to simple commands can write Signposts easily. Not only that, but Blowhole and RouteMap can work with variants of regular log entries which enable you to use an equivalent to Signposts in Sierra and High Sierra too.
You can thus use Signposts to monitor performance and execution of other apps (many let you run the necessary Blowhole commands), shell scripts, AppleScripts, and languages which don’t go near Xcode, in all versions of macOS from 10.12 to 10.15.
In my programme to update my many free apps, I have now produced new versions of RouteMap and its demo app to generate Signposts, Whither, together with all their documentation. In particular, RouteMap has the following changes:
- it has been ported to Swift 5 and Xcode 10.3
- it fixes a crash using the popup menu before getting a log extract
- it adds a link to its Product Support page, and a proper Help book
- it checks its code integrity after launching
- it supports sizing of text in the scrolling log view
- it saves window size and position.
In the coming week or two, I’ll be looking at what you can do with these tools, even if you don’t make your own software or scripts.
Blowhole 9 is already available from its Support Page.
RouteMap 1.0b3 with Whither 1.4 is available from here: routemap10b3
and the whole Signpost Kit with additional documentation and source code for Whither is available from here: signpostkit2
from Downloads above, and from their Support Page.