		i	synthesize instructions events
		y	synthesize cycles events
		b	synthesize branches events (branch misses for Arm SPE)
		c	synthesize branches events (calls only)
		r	synthesize branches events (returns only)
		x	synthesize transactions events
		w	synthesize ptwrite events
		p	synthesize power events (incl. PSB events for Intel PT)
		o	synthesize other events recorded due to the use
			of aux-output (refer to perf record)
		I	synthesize interrupt or similar (asynchronous) events
			(e.g. Intel PT Event Trace)
		e	synthesize error events
		d	create a debug log
		f	synthesize first level cache events
		m	synthesize last level cache events
		M	synthesize memory events
		t	synthesize TLB events
		a	synthesize remote access events
		g	synthesize a call chain (use with i or x)
		G	synthesize a call chain on existing event records
		l	synthesize last branch entries (use with i or x)
		L	synthesize last branch entries on existing event records
		s       skip initial number of events
		q	quicker (less detailed) decoding
		A	approximate IPC
		Z	prefer to ignore timestamps (so-called "timeless" decoding)

	The default is all events i.e. the same as --itrace=iybxwpe,
	except for perf script where it is --itrace=ce

	In addition, the period (default 100000, except for perf script where it is 1)
	for instructions events can be specified in units of:

		i	instructions
		t	ticks
		ms	milliseconds
		us	microseconds
		ns	nanoseconds (default)

	Also the call chain size (default 16, max. 1024) for instructions or
	transactions events can be specified.

	Also the number of last branch entries (default 64, max. 1024) for
	instructions or transactions events can be specified.

	Similar to options g and l, size may also be specified for options G and L.
	On x86, note that G and L work poorly when data has been recorded with
	large PEBS. Refer linkperf:perf-intel-pt[1] man page for details.

	It is also possible to skip events generated (instructions, branches, transactions,
	ptwrite, power) at the beginning. This is useful to ignore initialization code.

	--itrace=i0nss1000000

	skips the first million instructions.

	The 'e' option may be followed by flags which affect what errors will or
	will not be reported. Each flag must be preceded by either '+' or '-'.
	The flags are:
		o	overflow
		l	trace data lost

	If supported, the 'd' option may be followed by flags which affect what
	debug messages will or will not be logged. Each flag must be preceded
	by either '+' or '-'. The flags are:
		a	all perf events
		e	output only on errors (size configurable - see linkperf:perf-config[1])
		o	output to stdout

	If supported, the 'q' option may be repeated to increase the effect.
