{
    "name": "custom",
    "version": 1,
    "synopsis": "Produces trace file without any events enabled by default",
    "documentation": "Custom kdebug classes and subclasses should be specified using --kdebug-filter-include option.",
    "settings": {
        "kdebug_filter": "C0x25",
        "kdebug_buffer_size": {
            "base_memory_fraction": 0,
            "per_cpu_memory_mib": 64
        },
        "kdebug_coprocessors": true,
        "kperf_actions": [
            {
                "samplers": [
                    "user_call_stack",
                    "kernel_call_stack"
                ]
            },
            {
                "samplers": [
                    "user_call_stack"
                ]
            }
        ],
        "kperf_timers": [
            {
                "period_microseconds": 0,
                "action_index": 0
            }
        ],
        "providers": [
            {
                "name": "Symbolication",
                "options": {},
                "required": false
            }
        ]
    },
    "default_layers": [],
    "layers": {
        "aqm": {
            "synopsis": "collect AQM (Active Queuing Management) events",
            "settings": {
                "kdebug_filter": "S0x0830"
            }
        },
        "audio": {
            "synopsis": "collect Audio events",
            "settings": {
                "kdebug_filter": "C0x36,S0x2104,S0x0524,S0x0536"
            }
        },
        "carplay": {
            "synopsis": "collect Carplay events",
            "settings": {
                "kdebug_filter": "S0x2b16,S0x2b8d,S0x2b94,S0x2b98,S0x2ba1"
            }
        },
        "clock": {
            "synopsis": "collect clock events",
            "settings": {
                "kdebug_filter": "S0x0180"
            }
        },
        "cpu-coalition": {
            "synopsis": "collect CPU coalition events",
            "settings": {
                "kdebug_filter": "S0x01a7"
            }
        },
        "cswitch-cycles-instrs": {
            "synopsis": "sample cycles and instructions on context switches",
            "settings": {
                "kdebug_filter": "S0x0c01"
            }
        },
        "cswitch-sampling": {
            "synopsis": "sample user and kernel stacks on context switches",
            "settings": {
                "kdebug_filter": "C0x25,S0x0140",
                "kperf_kdebug_triggers": [
                    {
                        "action_index": 0,
                        "precise_filter": "D0x1400008,D0x1400000"
                    }
                ]
            }
        },
        "daemons-and-frameworks": {
            "synopsis": "collect miscellaneous daemon and framework events",
            "settings": {
                "kdebug_filter": "C0x2b,C0x21"
            }
        },
        "drivers": {
            "synopsis": "collect device driver events",
            "settings": {
                "kdebug_filter": "S0x0507,S0x0524"
            }
        },
        "exclaves": {
            "synopsis": "collect Exclaves events",
            "settings": {
                "kdebug_filter": "S0x012a,S0x012b"
            }
        },
        "exclaves-sampling": {
            "synopsis": "collect Exclaves on-CPU samples",
            "settings": {
                "kperf_actions": [
                    {
                        "samplers": [
                            "user_call_stack",
                            "kernel_call_stack",
                            "exclave_call_stack"
                        ]
                    }
                ],
                "kperf_timers": [
                    {
                        "period_microseconds": 1000,
                        "action_index": 0
                    }
                ]
            }
        },
        "file-io": {
            "synopsis": "collect file and disk operations events",
            "settings": {
                "kdebug_filter": "C0x03,C0x0a,S0x0615"
            }
        },
        "gcd": {
            "synopsis": "collect workqueue and dispatch related events",
            "settings": {
                "kdebug_filter": "S0x0902,S0x2e02"
            }
        },
        "graphics": {
            "synopsis": "collect graphics events",
            "settings": {
                "kdebug_filter": "C0x85,S0x0612"
            }
        },
        "hid": {
            "synopsis": "collect HID (Human Interface Devices) events",
            "settings": {
                "kdebug_filter": "S0x0523"
            }
        },
        "importance": {
            "synopsis": "collect process importance events",
            "settings": {
                "kdebug_filter": "C0x26"
            }
        },
        "interrupts": {
            "synopsis": "collect interrupt events",
            "settings": {
                "kdebug_filter": "S0x0105"
            }
        },
        "ipc": {
            "synopsis": "collect IPC (Inter-process communication) events",
            "settings": {
                "kdebug_filter": "S0x0120"
            }
        },
        "logs": {
            "synopsis": "collect os_signposts and os_logs",
            "settings": {
                "providers": [
                    {
                        "name": "Logging",
                        "options": {
                            "enable-logs": "true"
                        },
                        "required": false
                    }
                ]
            }
        },
        "media": {
            "synopsis": "collect media related events",
            "settings": {
                "kdebug_filter": "C0x20,C0x31"
            }
        },
        "ml": {
            "synopsis": "collect events for on device machine learning workloads",
            "settings": {
                "kdebug_filter": "S0x2b23,S0x2b24,S0x2b26,S0x8590,C0x86,S0x061b",
                "providers": [
                    {
                        "name": "Logging",
                        "options": {},
                        "required": true
                    }
                ]
            }
        },
        "networking": {
            "synopsis": "collect networking events",
            "settings": {
                "kdebug_filter": "S0x0810"
            }
        },
        "nfs": {
            "synopsis": "collect NFS (network file system) events",
            "settings": {
                "kdebug_filter": "S0x0315"
            }
        },
        "qos": {
            "synopsis": "collect QoS (Quality-of-service) events",
            "settings": {
                "kdebug_filter": "S0x2619,S0x2638"
            }
        },
        "sched-processor-selection": {
            "synopsis": "collect clutch scheduling events",
            "settings": {
                "kdebug_filter": "S0x01a9"
            }
        },
        "scheduling": {
            "synopsis": "collect thread scheduling events",
            "settings": {
                "kdebug_filter": "S0x0140"
            }
        },
        "swift-concurrency": {
            "synopsis": "collect Swift Concurrency task and actor events",
            "settings": {
                "providers": [
                    {
                        "name": "Logging",
                        "options": {
                            "swift-concurrency": "true"
                        },
                        "required": true
                    }
                ]
            }
        },
        "swift-ui-instrument": {
            "synopsis": "collect Swift UI body invocation and dynamic view property events",
            "settings": {
                "providers": [
                    {
                        "name": "Logging",
                        "options": {
                            "swift-ui": "true"
                        },
                        "required": true
                    }
                ]
            }
        },
        "syscalls": {
            "synopsis": "collect system call events",
            "settings": {
                "kdebug_filter": "S0x010c,S0x040c"
            }
        },
        "syscall-sampling": {
            "synopsis": "sample user call stacks on system calls",
            "settings": {
                "kdebug_filter": "C0x25,S0x010c,S0x040c",
                "kperf_kdebug_triggers": [
                    {
                        "action_index": 1,
                        "precise_filter": "S0x010cr,S0x040cr"
                    }
                ]
            }
        },
        "thermal": {
            "synopsis": "collect thermal events",
            "settings": {
                "kdebug_filter": "S0x868f,S0x27f0"
            }
        },
        "thread-groups": {
            "synopsis": "collect thread group events",
            "settings": {
                "kdebug_filter": "S0x01a6"
            }
        },
        "thread-wakeup-sampling": {
            "synopsis": "sample user and kernel stacks when making another thread runnable",
            "settings": {
                "kdebug_filter": "C0x25,S0x0140",
                "kperf_kdebug_triggers": [
                    {
                        "action_index": 0,
                        "precise_filter": "D0x1400018"
                    }
                ]
            }
        },
        "usb-storage": {
            "synopsis": "collect USB (Universal Serial Bus) Storage stack events",
            "settings": {
                "kdebug_filter": "S0x0527"
            }
        },
        "vmfaults": {
            "synopsis": "collect VM (virtual memory) fault events",
            "settings": {
                "kdebug_filter": "S0x0130,S0x0132"
            }
        },
        "vmfault-sampling": {
            "synopsis": "sample user call stacks on VM (virtual memory) faults",
            "settings": {
                "kdebug_filter": "C0x25,S0x0130,S0x0132",
                "kperf_kdebug_triggers": [
                    {
                        "action_index": 1,
                        "precise_filter": "D0x0130000ar,D0x013004ccr,D0x013004d0r,D0x013004d4r"
                    }
                ]
            }
        },
        "vm-stats": {
            "synopsis": "collect lightweight memory statistics",
            "settings": {
                "kdebug_filter": "S0x01b2"
            }
        },
        "xpc": {
            "synopsis": "collect XPC related events",
            "settings": {
                "kdebug_filter": "C0x29"
            }
        }
    }
}