Documentation
¶
Overview ¶
Package xcodebindings probes the private Xcode GTShaderProfiler runtime surface without constructing profiler objects.
Index ¶
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type Class ¶
type Class struct {
Name string `json:"name"`
Present bool `json:"present"`
Selectors []Selector `json:"selectors"`
}
Class describes one Objective-C class and the selectors gputrace cares about.
type Gap ¶
type Gap struct {
Metric string `json:"metric"`
Binding string `json:"binding"`
Status string `json:"status"`
Next string `json:"next"`
Signature string `json:"signature_risk,omitempty"`
}
Gap maps a missing gputrace metric to the private Xcode surface that can supply it.
type ObjectSummary ¶
type ObjectSummary struct {
Index uint64 `json:"index"`
ClassName string `json:"class_name,omitempty"`
Bytes uint64 `json:"bytes,omitempty"`
Count uint64 `json:"count,omitempty"`
Keys []string `json:"keys,omitempty"`
Properties map[string]uint64 `json:"properties,omitempty"`
Children []ObjectSummary `json:"children,omitempty"`
}
ObjectSummary describes a private Objective-C object without traversing its full graph.
type Report ¶
type Report struct {
FrameworkPath string `json:"framework_path"`
Framework bool `json:"framework"`
Classes []Class `json:"classes"`
Gaps []Gap `json:"gaps"`
Notes []string `json:"notes,omitempty"`
Summary map[string]int `json:"summary"`
}
Report describes the GTShaderProfiler Objective-C surface gputrace needs for Xcode parity.
type Selector ¶
type Selector struct {
Name string `json:"name"`
Kind string `json:"kind"`
Present bool `json:"present"`
}
Selector describes one class or instance selector.
type StreamDataSummary ¶
type StreamDataSummary struct {
Path string `json:"path"`
ObjectID string `json:"object_id,omitempty"`
GPUGeneration uint32 `json:"gpu_generation,omitempty"`
MetalDeviceName string `json:"metal_device_name,omitempty"`
MetalPluginName string `json:"metal_plugin_name,omitempty"`
EncoderInfoCount uint64 `json:"encoder_info_count"`
GPUCommandInfoCount uint64 `json:"gpu_command_info_count"`
PipelineStateInfoCount uint64 `json:"pipeline_state_info_count"`
FunctionInfoCount uint64 `json:"function_info_count"`
EncoderInfoBytes uint64 `json:"encoder_info_bytes,omitempty"`
GPUCommandInfoBytes uint64 `json:"gpu_command_info_bytes,omitempty"`
PipelineStateInfoBytes uint64 `json:"pipeline_state_info_bytes,omitempty"`
FunctionInfoBytes uint64 `json:"function_info_bytes,omitempty"`
APSTimelineCount uint64 `json:"aps_timeline_count,omitempty"`
APSCounterCount uint64 `json:"aps_counter_count,omitempty"`
ShaderProfilerCount uint64 `json:"shader_profiler_count,omitempty"`
APSTimelineSamples []ObjectSummary `json:"aps_timeline_samples,omitempty"`
APSCounterSamples []ObjectSummary `json:"aps_counter_samples,omitempty"`
APSTimelineKeys []KeyCount `json:"aps_timeline_keys,omitempty"`
APSCounterKeys []KeyCount `json:"aps_counter_keys,omitempty"`
APSTimelineTimeKeys []KeyCount `json:"aps_timeline_time_keys,omitempty"`
SelectedValues []ValueSummary `json:"selected_values,omitempty"`
ReplayerGPUTimeNs uint64 `json:"replayer_gpu_time_ns,omitempty"`
}
StreamDataSummary is the safely readable GTShaderProfilerStreamData metadata for a profiler streamData archive.
func ProbeStreamData ¶
func ProbeStreamData(path string) (StreamDataSummary, error)
ProbeStreamData loads a streamData archive through GTShaderProfilerStreamData and returns metadata that does not require walking private object graphs.
type ValueSummary ¶
type ValueSummary struct {
Array string `json:"array"`
Index uint64 `json:"index"`
Key string `json:"key"`
Class string `json:"class,omitempty"`
Description string `json:"description,omitempty"`
Keys []string `json:"keys,omitempty"`
Bytes uint64 `json:"bytes,omitempty"`
Count uint64 `json:"count,omitempty"`
Number uint64 `json:"number,omitempty"`
Children []ObjectSummary `json:"children,omitempty"`
}
ValueSummary reports the class and shallow metadata for a selected dictionary value.