#include <kern/telemetry.h>
kern/telemetry.h
enumtelemetry_command_t
| TELEMETRY_CMD_PMI_SETUP | 3 | |
| TELEMETRY_CMD_PAGEIN_SETUP | 4 | |
| TELEMETRY_CMD_PAGEIN_READ | 5 | |
| TELEMETRY_CMD_MEMORY_USAGE_SETUP | 6 |
typedeftelemetry_command_t
typedef enum telemetry_command_t telemetry_command_t;
enumtelemetry_pmi_t
| TELEMETRY_PMI_NONE | 0 | |
| TELEMETRY_PMI_INSTRS | 1 | |
| TELEMETRY_PMI_CYCLES | 2 |
typedeftelemetry_pmi_t
typedef enum telemetry_pmi_t telemetry_pmi_t;
enumtelemetry_pagein_flags_t
| TELEMETRY_PAGEIN_BASE | 0 |
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`.
| uint32_t | tph_magic | |
| uint32_t | tph_version | |
| uint32_t | tph_pagein_count | |
| uint32_t | tph_reserved | |
| uint64_t | tph_flags | |
| uint64_t | tph_duration_mct |
structtelemetry_pagein
Details about a page-in, for communicating telemetry to user space.
| uint64_t | tp_fsid | |
| uint64_t | tp_fsobj_id | |
| int64_t | tp_file_offset |
structtelemetry_pagein_buffer
How page-in data is copied out to user space.
| struct telemetry_pagein_header | tpb_header | |
| struct telemetry_pagein[0] | tpb_pageins |
typedeftelemetry_vm_fault_flags_t
typedef enum telemetry_vm_fault_flags_t telemetry_vm_fault_flags_t;
typedeftelemetry_page_grab_t
typedef enum telemetry_page_grab_t telemetry_page_grab_t;
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.
| uint32_t | mst_magic | ||||||||||||||||
| int32_t | mst_pid | ||||||||||||||||
| uint64_t | mst_task_uniqueid | ||||||||||||||||
| uint64_t | mst_user_term_mach_time | ||||||||||||||||
| uint64_t | mst_system_term_mach_time | ||||||||||||||||
| uint8_t[16] | mst_shared_cache_identifier | ||||||||||||||||
| uint64_t | mst_shared_cache_slide | ||||||||||||||||
| uint32_t | mst_loadinfo_count | ||||||||||||||||
| uint32_t | mst_suspend_count | ||||||||||||||||
| uint32_t | mst_page_count | ||||||||||||||||
| uint32_t | mst_fault_count | ||||||||||||||||
| uint32_t | mst_pagein_count | ||||||||||||||||
| uint32_t | mst_cow_fault_count | ||||||||||||||||
| uint32_t | mst_stackshot_flags_trunc | ||||||||||||||||
| uint64_t | mst_resource_coal_id | ||||||||||||||||
| int32_t | mst_on_behalf_origin_pid | ||||||||||||||||
| int32_t | mst_on_behalf_proximate_pid | ||||||||||||||||
| char[17] | mst_proc_comm_name | ||||||||||||||||
| uint32_t | mst_was_throttled | ||||||||||||||||
| uint32_t | mst_did_throttle | ||||||||||||||||
| uint32_t | mst_latency_qos | ||||||||||||||||
| uint64_t | mst_stackshot_flags | ||||||||||||||||
| uint64_t | mst_energy_nj | ||||||||||||||||
| uint64_t | mst_page_grab_count | ||||||||||||||||
| uint64_t | mst_iopl_upl_page_grab_count | ||||||||||||||||
| char[32] | mst_proc_name_extra | ||||||||||||||||
| unnamed struct at Kernel/kern/telemetry.h:185:2 | mst_metadata | ||||||||||||||||
| |||||||||||||||||
| 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.
| uint32_t | msth_magic | |
| uint32_t | msth_kern_frame_count | |
| uint32_t | msth_user_frame_count | |
| uint64_t | msth_wait_event | |
| uint64_t | msth_continuation | |
| uint64_t | msth_thread_id | |
| uint64_t | msth_user_mach_time | |
| uint64_t | msth_system_mach_time | |
| int32_t | msth_state | |
| int32_t | msth_base_priority | |
| int32_t | msth_sched_priority | |
| int32_t | msth_sched_flags | |
| uint8_t | msth_stackshot_flags | |
| uint8_t | msth_effective_qos | |
| uint8_t | msth_requested_qos | |
| uint8_t | msth_requested_qos_override | |
| uint8_t | msth_io_tier | |
| uint8_t | msth_reserved_c | |
| uint16_t | msth_async_index | |
| uint64_t | msth_fault_va | |
| uint16_t | msth_reserved_fault1 | |
| uint16_t | msth_fault_type | |
| uint16_t | msth_reserved_fault2 | |
| uint16_t | msth_fault_flags | telemetry_vm_fault_flags_t |
| uint16_t | msth_reserved_grab1 | |
| uint16_t | msth_grab_vm_tag | Kernel Tags in vm_statistics.h |
| uint16_t | msth_grab_iopl_count | |
| uint16_t | msth_grab_upl_count | |
| uint64_t[19] | msth_reserved | |
| char[64] | msth_name |