STRUCT AUXTRACE_RECORD(9)

πŸ“¦ version 7.3.1, in nixpkgs unstable

πŸ’… struct auxtrace_record(9) β€” a.k.a. the AUX area recording callback squad

okay bestie, this one's from the Kernel API Manual, and it's lowkey iconic: it's the struct auxtrace_record β€” literally the bundle of callbacks that make recording AUX area data possible πŸŽ€


✨ NAME ✨

struct auxtrace_record β€” callbacks for recording AUX area data.


πŸ¦‹ SYNOPSIS πŸ¦‹

struct auxtrace_record {
    int (*recording_options)(struct auxtrace_record *itr, struct evlist
*evlist, struct record_opts *opts);
    size_t (*info_priv_size)(struct auxtrace_record *itr, struct evlist
*evlist);
    int (*info_fill)(struct auxtrace_record *itr, struct perf_session
*session, struct perf_record_auxtrace_info *auxtrace_info, size_t
priv_size);
    void (*free)(struct auxtrace_record *itr);
    int (*snapshot_start)(struct auxtrace_record *itr);
    int (*snapshot_finish)(struct auxtrace_record *itr);
    int (*find_snapshot)(struct auxtrace_record *itr, int idx, struct
auxtrace_mmap *mm, unsigned char *data, u64 *head, u64 *old);
    int (*parse_snapshot_options)(struct auxtrace_record *itr, struct
record_opts *opts, const char *str);
    u64 (*reference)(struct auxtrace_record *itr);
    int (*read_finish)(struct auxtrace_record *itr, int idx);
    unsigned int alignment;
    unsigned int default_aux_sample_size;
    struct evlist *evlist;
 };

πŸ‘‘ Members πŸ‘‘

  • recording_options β€” validates and processes the recording options, periodt ✨
  • info_priv_size β€” returns the size of the private data in auxtrace_info_event, iykyk
  • info_fill β€” fills in that private data in auxtrace_info_event πŸ’–
  • free β€” frees this auxtrace record structure, bye bestie 🫢
  • snapshot_start β€” starting a snapshot 🌸
  • snapshot_finish β€” finishing a snapshot πŸŽ€
  • find_snapshot β€” finds the data to snapshot within the auxtrace mmap πŸ”
  • parse_snapshot_options β€” parses the snapshot options ⭐
  • reference β€” provides a 64-bit reference number for auxtrace_event πŸ’…
  • read_finish β€” called after reading from an auxtrace mmap, like the little cleanup era 😌
  • alignment β€” alignment (if any) for AUX area data πŸ“
  • default_aux_sample_size β€” the default sample size for the --aux sample option 🌈
  • evlist β€” the selected events list πŸ”₯

πŸ’œ SEE ALSO πŸ’œ

Kernel file ./tools/perf/util/auxtrace.h, plus the whole friend group:

  • struct itrace_synth_opts(9)
  • struct auxtrace_index_entry(9)
  • struct auxtrace_index(9)
  • struct auxtrace(9)
  • struct auxtrace_buffer(9)
  • struct auxtrace_queue(9)
  • struct auxtrace_queues(9)
  • struct auxtrace_heap_item(9)
  • struct auxtrace_heap(9)
  • struct auxtrace_mmap(9)
  • struct auxtrace_mmap_params(9)
  • struct addr_filter(9)
  • struct addr_filters(9)

ngl the whole squad is here β€” read the kernel header ./tools/perf/util/auxtrace.h if you wanna go deeper 🧚

that's the whole page, bestie β€” slay, go record some AUX area data ✨

πŸ’– sign-off time: this absolute banger lives at ./tools/perf/util, dated October 2026, and it's struct auxtrace_record(9) in the section 9 lineup πŸŽ€

πŸ“¦ where this page comes from