log the execution time of all workflow steps? you mean that the full execution time the workflow?
you can try the Initialized event and the Completed event .
by add a field to the workflow class , such as BeginTime , and in the Initialized event of the workflow you can set BeginTime=DateTime.Now,
in the Completed event of the workflow you can get the time range:
TimeSpan executionTime = DateTime.Now-BeginTime.
or if you want to log the execution time of a singe step , you can do it by the same two events of the step(Task,GroupTask or Step).