1. A method of tracing a program, comprising: providing a relational database data structure defining a plurality of fields configured to store program trace information; executing a program comprising a plurality of functions including calling a function from the program; extracting first trace data of the function and storing the first trace data in a portion of the plurality of fields ; and after executing the program, extracting second trace data associated with the first trace data and storing the second trace data in remaining portions of the plurality of fields.