+ generate 4 kinds of trace