The actual firing of the threshold isn't a big issue. What you have the threshold do could be an issue (eg, you wouldn't want dozens of thresholds, only @@thresh_hysteresis pages apart firing in quick succession and each one running one of your expensive queries to verify log space usage).
To track log usage of the various upgrade steps you could do something like placing thresholds on the 10GB log at 5% intervals, with the threshold action proc dumping a message to the log stating the used/free pages/percentage-of-log (easily calculable with proc's input parameters and values from sysusages); keep in mind that each message dumped to the errorlog has a datetime stamp. Then assuming your upgrade tool has the ability to print a status message with a datetime stamp for each step, you could match the tool's datetime stamps with the threshold datetime stamps to figure out which step was running at the time a particular threshold message was generated.