#include <kern/telemetry.h>

kern/telemetry.h Kernel.framework

includes: Kernel/stddef.h, Kernel/stdint.h, sys/cdefs.h, mach/mach_types.h, kern/kcdata.h, kern/debug.h
6 enums · 6 typedefs · 5 structs · 1 macro

enumtelemetry_command_t

underlying type uint64_t
TELEMETRY_CMD_PMI_SETUP3
TELEMETRY_CMD_PAGEIN_SETUP4
TELEMETRY_CMD_PAGEIN_READ5
TELEMETRY_CMD_MEMORY_USAGE_SETUP6

typedeftelemetry_command_t

typedef enum telemetry_command_t telemetry_command_t;

enumtelemetry_pmi_t

underlying type uint32_t
TELEMETRY_PMI_NONE0
TELEMETRY_PMI_INSTRS1
TELEMETRY_PMI_CYCLES2

typedeftelemetry_pmi_t

typedef enum telemetry_pmi_t telemetry_pmi_t;

enumtelemetry_pagein_flags_t

underlying type uint64_t
TELEMETRY_PAGEIN_BASE0

typedeftelemetry_pagein_flags_t

typedef enum telemetry_pagein_flags_t telemetry_pagein_flags_t;

macroTELEMETRY_PAGEIN_MAGIC

#define TELEMETRY_PAGEIN_MAGIC 0x70616765

structtelemetry_pagein_header

The first bytes of a successful `TELEMETRY_CMD_PAGEIN_READ`.
size 32, align 8
uint32_ttph_magic
uint32_ttph_version
uint32_ttph_pagein_count
uint32_ttph_reserved
uint64_ttph_flags
uint64_ttph_duration_mct

structtelemetry_pagein

Details about a page-in, for communicating telemetry to user space.
size 24, align 8
uint64_ttp_fsid
uint64_ttp_fsobj_id
int64_ttp_file_offset

structtelemetry_pagein_buffer

How page-in data is copied out to user space.
size 32, align 8
struct telemetry_pagein_headertpb_header
struct telemetry_pagein[0]tpb_pageins

enumtelemetry_vm_fault_flags_t

Flags to report for fault samples.
underlying type uint16_t
TM_VMF_BASE0

typedeftelemetry_vm_fault_flags_t

typedef enum telemetry_vm_fault_flags_t telemetry_vm_fault_flags_t;

enumtelemetry_page_grab_t

The kind of page grab that occurred in a sample.
underlying type uint8_t
TM_PG_UPL1
TM_PG_IOPL2

typedeftelemetry_page_grab_t

typedef enum telemetry_page_grab_t telemetry_page_grab_t;

enumtelemetry_page_grab_flags_t

Flags to report for page grab samples.
underlying type uint8_t
TM_PGF_BASE0

typedeftelemetry_page_grab_flags_t

typedef enum telemetry_page_grab_flags_t telemetry_page_grab_flags_t;

structmicrostackshot_task

The data layout of task data in a microstackshot sample. XXX This is overlaid on a `struct task_snapshot` and the order of the fields must not change.
size 293, align 1 · packed
uint32_tmst_magic
int32_tmst_pid
uint64_tmst_task_uniqueid
uint64_tmst_user_term_mach_time
uint64_tmst_system_term_mach_time
uint8_t[16]mst_shared_cache_identifier
uint64_tmst_shared_cache_slide
uint32_tmst_loadinfo_count
uint32_tmst_suspend_count
uint32_tmst_page_count
uint32_tmst_fault_count
uint32_tmst_pagein_count
uint32_tmst_cow_fault_count
uint32_tmst_stackshot_flags_trunc
uint64_tmst_resource_coal_id
int32_tmst_on_behalf_origin_pid
int32_tmst_on_behalf_proximate_pid
char[17]mst_proc_comm_name
uint32_tmst_was_throttled
uint32_tmst_did_throttle
uint32_tmst_latency_qos
uint64_tmst_stackshot_flags
uint64_tmst_energy_nj
uint64_tmst_page_grab_count
uint64_tmst_iopl_upl_page_grab_count
char[32]mst_proc_name_extra
unnamed struct at Kernel/kern/telemetry.h:185:2mst_metadata
uint32_tmstm_telemetry_generation
uint32_tmstm_telemetry_source
uint64_tmstm_telemetry_period
uint64_tmstm_serial_number
uint64_tmstm_telemetry_skipped
uint64_t[8]mst_reserved
uint32_t[1]mst_reserved32

structmicrostackshot_thread

The data layout of thread data in a microstackshot sample. XXX This is overlaid on a `struct thread_snapshot` and the order of the fields must not change.
size 316, align 1 · packed
uint32_tmsth_magic
uint32_tmsth_kern_frame_count
uint32_tmsth_user_frame_count
uint64_tmsth_wait_event
uint64_tmsth_continuation
uint64_tmsth_thread_id
uint64_tmsth_user_mach_time
uint64_tmsth_system_mach_time
int32_tmsth_state
int32_tmsth_base_priority
int32_tmsth_sched_priority
int32_tmsth_sched_flags
uint8_tmsth_stackshot_flags
uint8_tmsth_effective_qos
uint8_tmsth_requested_qos
uint8_tmsth_requested_qos_override
uint8_tmsth_io_tier
uint8_tmsth_reserved_c
uint16_tmsth_async_index
uint64_tmsth_fault_va
uint16_tmsth_reserved_fault1
uint16_tmsth_fault_type
uint16_tmsth_reserved_fault2
uint16_tmsth_fault_flagstelemetry_vm_fault_flags_t
uint16_tmsth_reserved_grab1
uint16_tmsth_grab_vm_tagKernel Tags in vm_statistics.h
uint16_tmsth_grab_iopl_count
uint16_tmsth_grab_upl_count
uint64_t[19]msth_reserved
char[64]msth_name