Which events are you capturing? There are lots of events, down to the statement level, that you can capture. You can modify any trace to include the events.
Profiler allows you to examine how long various statements take.
you can also get an execution plan in SSMS and then work to find which parts of your UDF are taking the most resources and try to tune those.