Technical Q&A QA1575

Supported KPIs

Q:  How do I tell whether a kernel function is part of a supported KPI?

A: How do I tell whether a kernel function is part of a supported KPI?

There are two basic criteria:

Checking the first criterion is easy: use your favorite text search tool to see if the function is declared in the Kernel framework headers.

There are two ways to check the second criterion.

Listing 1  Using FindKPI.py

$ ./FindKPI.py vnode_create lck_mtx_lock
vnode_create com.apple.kpi.bsd
lck_mtx_lock com.apple.kpi.libkern
$ # You can also supply C++ class names.
$ ./FindKPI.py OSDictionary IOMemoryDescriptor
OSDictionary com.apple.kpi.libkern
IOMemoryDescriptor com.apple.kpi.iokit

Of course, there are exceptions to every rule. For example:

Downloadables



Document Revision History


DateNotes
2008-03-25

New document that describes how to check whether a kernel function is part of a supported KPI.