Documentation
¶
Index ¶
- func LoadNFSTrace() (*ebpf.CollectionSpec, error)
- func LoadNFSTraceObjects(obj interface{}, opts *ebpf.CollectionOptions) error
- type NFSTraceDataArgsT
- type NFSTraceDnsArgsT
- type NFSTraceDnsEvent
- type NFSTraceMapSpecs
- type NFSTraceMaps
- type NFSTraceMemberFieldsOffset
- type NFSTraceMetadata
- type NFSTraceObjects
- type NFSTracePathSegment
- type NFSTraceProgramSpecs
- type NFSTracePrograms
- type NFSTraceRawMetrics
- type NFSTraceRpcTaskFields
- type NFSTraceSchedLatencyT
- type NFSTraceSpanInfo
- type NFSTraceSpecs
- type NFSTraceStackSample
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func LoadNFSTrace ¶
func LoadNFSTrace() (*ebpf.CollectionSpec, error)
LoadNFSTrace returns the embedded CollectionSpec for NFSTrace.
func LoadNFSTraceObjects ¶
func LoadNFSTraceObjects(obj interface{}, opts *ebpf.CollectionOptions) error
LoadNFSTraceObjects loads NFSTrace and converts it into a struct.
The following types are suitable as obj argument:
*NFSTraceObjects *NFSTracePrograms *NFSTraceMaps
See ebpf.CollectionSpec.LoadAndAssign documentation for details.
Types ¶
type NFSTraceDataArgsT ¶
type NFSTraceDnsArgsT ¶
type NFSTraceDnsEvent ¶
type NFSTraceMapSpecs ¶
type NFSTraceMapSpecs struct {
ActiveReadArgsMap *ebpf.MapSpec `ebpf:"__active_read_args_map"`
ActiveWriteArgsMap *ebpf.MapSpec `ebpf:"__active_write_args_map"`
DnsArgsMap *ebpf.MapSpec `ebpf:"__dns_args_map"`
MembersOffset *ebpf.MapSpec `ebpf:"__members_offset"`
NfsSpanMap *ebpf.MapSpec `ebpf:"__nfs_span_map"`
ActiveRequests *ebpf.MapSpec `ebpf:"active_requests"`
CpuProfilerEvents *ebpf.MapSpec `ebpf:"cpu_profiler_events"`
DnsEvents *ebpf.MapSpec `ebpf:"dns_events"`
DnsProgArray *ebpf.MapSpec `ebpf:"dns_prog_array"`
IoMetrics *ebpf.MapSpec `ebpf:"io_metrics"`
LastSample *ebpf.MapSpec `ebpf:"last_sample"`
LinkBegin *ebpf.MapSpec `ebpf:"link_begin"`
LinkEnd *ebpf.MapSpec `ebpf:"link_end"`
NfsTraceMap *ebpf.MapSpec `ebpf:"nfs_trace_map"`
PathRingbuf *ebpf.MapSpec `ebpf:"path_ringbuf"`
PidCgroupMap *ebpf.MapSpec `ebpf:"pid_cgroup_map"`
ProfilerEvents *ebpf.MapSpec `ebpf:"profiler_events"`
SchedEvents *ebpf.MapSpec `ebpf:"sched_events"`
StackTraces *ebpf.MapSpec `ebpf:"stack_traces"`
WaitingRPC *ebpf.MapSpec `ebpf:"waiting_RPC"`
WakeupTimes *ebpf.MapSpec `ebpf:"wakeup_times"`
}
NFSTraceMapSpecs contains maps before they are loaded into the kernel.
It can be passed ebpf.CollectionSpec.Assign.
type NFSTraceMaps ¶
type NFSTraceMaps struct {
ActiveReadArgsMap *ebpf.Map `ebpf:"__active_read_args_map"`
ActiveWriteArgsMap *ebpf.Map `ebpf:"__active_write_args_map"`
DnsArgsMap *ebpf.Map `ebpf:"__dns_args_map"`
MembersOffset *ebpf.Map `ebpf:"__members_offset"`
NfsSpanMap *ebpf.Map `ebpf:"__nfs_span_map"`
ActiveRequests *ebpf.Map `ebpf:"active_requests"`
CpuProfilerEvents *ebpf.Map `ebpf:"cpu_profiler_events"`
DnsEvents *ebpf.Map `ebpf:"dns_events"`
DnsProgArray *ebpf.Map `ebpf:"dns_prog_array"`
IoMetrics *ebpf.Map `ebpf:"io_metrics"`
LastSample *ebpf.Map `ebpf:"last_sample"`
LinkBegin *ebpf.Map `ebpf:"link_begin"`
LinkEnd *ebpf.Map `ebpf:"link_end"`
NfsTraceMap *ebpf.Map `ebpf:"nfs_trace_map"`
PathRingbuf *ebpf.Map `ebpf:"path_ringbuf"`
PidCgroupMap *ebpf.Map `ebpf:"pid_cgroup_map"`
ProfilerEvents *ebpf.Map `ebpf:"profiler_events"`
SchedEvents *ebpf.Map `ebpf:"sched_events"`
StackTraces *ebpf.Map `ebpf:"stack_traces"`
WaitingRPC *ebpf.Map `ebpf:"waiting_RPC"`
WakeupTimes *ebpf.Map `ebpf:"wakeup_times"`
}
NFSTraceMaps contains all maps after they have been loaded into the kernel.
It can be passed to LoadNFSTraceObjects or ebpf.CollectionSpec.LoadAndAssign.
func (*NFSTraceMaps) Close ¶
func (m *NFSTraceMaps) Close() error
type NFSTraceMemberFieldsOffset ¶
type NFSTraceMemberFieldsOffset struct {
Ready uint32
TaskFilesOffset uint32
SockFlagsOffset uint32
TcpSockCopiedSeqOffset uint32
TcpSockWriteSeqOffset uint32
StructFilesStructFdtOffset uint32
StructFilesPrivateDataOffset uint32
StructFileF_inodeOffset uint32
StructInodeI_modeOffset uint32
StructFileDentryOffset uint32
StructDentryNameOffset uint32
StructSockFamilyOffset uint32
StructSockSaddrOffset uint32
StructSockDaddrOffset uint32
StructSockIp6saddrOffset uint32
StructSockIp6daddrOffset uint32
StructSockDportOffset uint32
StructSockSportOffset uint32
StructSockSkcStateOffset uint32
StructSockCommonIpv6onlyOffset uint32
StructIovIterIovOffset uint32
}
type NFSTraceMetadata ¶
type NFSTraceObjects ¶
type NFSTraceObjects struct {
NFSTracePrograms
NFSTraceMaps
}
NFSTraceObjects contains all objects after they have been loaded into the kernel.
It can be passed to LoadNFSTraceObjects or ebpf.CollectionSpec.LoadAndAssign.
func (*NFSTraceObjects) Close ¶
func (o *NFSTraceObjects) Close() error
type NFSTracePathSegment ¶
type NFSTraceProgramSpecs ¶
type NFSTraceProgramSpecs struct {
DnsHandler *ebpf.ProgramSpec `ebpf:"dns_handler"`
DoPerfEvent *ebpf.ProgramSpec `ebpf:"do_perf_event"`
FexitFn *ebpf.ProgramSpec `ebpf:"fexit_fn"`
KbNfsReadD *ebpf.ProgramSpec `ebpf:"kb_nfs_read_d"`
KbNfsWriteD *ebpf.ProgramSpec `ebpf:"kb_nfs_write_d"`
KprobeSkb1 *ebpf.ProgramSpec `ebpf:"kprobe_skb_1"`
KprobeSkb2 *ebpf.ProgramSpec `ebpf:"kprobe_skb_2"`
KprobeSkb3 *ebpf.ProgramSpec `ebpf:"kprobe_skb_3"`
KprobeSkb4 *ebpf.ProgramSpec `ebpf:"kprobe_skb_4"`
KprobeSkb5 *ebpf.ProgramSpec `ebpf:"kprobe_skb_5"`
KprobeSysRecvmsg *ebpf.ProgramSpec `ebpf:"kprobe_sys_recvmsg"`
KprobeSysSendmsg *ebpf.ProgramSpec `ebpf:"kprobe_sys_sendmsg"`
KprobeUdpSendmsg *ebpf.ProgramSpec `ebpf:"kprobe_udp_sendmsg"`
KretprobeSysRecvmsg *ebpf.ProgramSpec `ebpf:"kretprobe_sys_recvmsg"`
KretprobeSysSendmsg *ebpf.ProgramSpec `ebpf:"kretprobe_sys_sendmsg"`
NfsInitRead *ebpf.ProgramSpec `ebpf:"nfs_init_read"`
NfsInitWrite *ebpf.ProgramSpec `ebpf:"nfs_init_write"`
RpcExecute *ebpf.ProgramSpec `ebpf:"rpc_execute"`
RpcExitTask *ebpf.ProgramSpec `ebpf:"rpc_exit_task"`
RpcTaskBegin *ebpf.ProgramSpec `ebpf:"rpc_task_begin"`
RpcTaskDone *ebpf.ProgramSpec `ebpf:"rpc_task_done"`
SchedSwitch *ebpf.ProgramSpec `ebpf:"sched_switch"`
SchedWakeup *ebpf.ProgramSpec `ebpf:"sched_wakeup"`
SchedWakeupNew *ebpf.ProgramSpec `ebpf:"sched_wakeup_new"`
}
NFSTraceSpecs contains programs before they are loaded into the kernel.
It can be passed ebpf.CollectionSpec.Assign.
type NFSTracePrograms ¶
type NFSTracePrograms struct {
DnsHandler *ebpf.Program `ebpf:"dns_handler"`
DoPerfEvent *ebpf.Program `ebpf:"do_perf_event"`
FexitFn *ebpf.Program `ebpf:"fexit_fn"`
KbNfsReadD *ebpf.Program `ebpf:"kb_nfs_read_d"`
KbNfsWriteD *ebpf.Program `ebpf:"kb_nfs_write_d"`
KprobeSkb1 *ebpf.Program `ebpf:"kprobe_skb_1"`
KprobeSkb2 *ebpf.Program `ebpf:"kprobe_skb_2"`
KprobeSkb3 *ebpf.Program `ebpf:"kprobe_skb_3"`
KprobeSkb4 *ebpf.Program `ebpf:"kprobe_skb_4"`
KprobeSkb5 *ebpf.Program `ebpf:"kprobe_skb_5"`
KprobeSysRecvmsg *ebpf.Program `ebpf:"kprobe_sys_recvmsg"`
KprobeSysSendmsg *ebpf.Program `ebpf:"kprobe_sys_sendmsg"`
KprobeUdpSendmsg *ebpf.Program `ebpf:"kprobe_udp_sendmsg"`
KretprobeSysRecvmsg *ebpf.Program `ebpf:"kretprobe_sys_recvmsg"`
KretprobeSysSendmsg *ebpf.Program `ebpf:"kretprobe_sys_sendmsg"`
NfsInitRead *ebpf.Program `ebpf:"nfs_init_read"`
NfsInitWrite *ebpf.Program `ebpf:"nfs_init_write"`
RpcExecute *ebpf.Program `ebpf:"rpc_execute"`
RpcExitTask *ebpf.Program `ebpf:"rpc_exit_task"`
RpcTaskBegin *ebpf.Program `ebpf:"rpc_task_begin"`
RpcTaskDone *ebpf.Program `ebpf:"rpc_task_done"`
SchedSwitch *ebpf.Program `ebpf:"sched_switch"`
SchedWakeup *ebpf.Program `ebpf:"sched_wakeup"`
SchedWakeupNew *ebpf.Program `ebpf:"sched_wakeup_new"`
}
NFSTracePrograms contains all programs after they have been loaded into the kernel.
It can be passed to LoadNFSTraceObjects or ebpf.CollectionSpec.LoadAndAssign.
func (*NFSTracePrograms) Close ¶
func (p *NFSTracePrograms) Close() error
type NFSTraceRawMetrics ¶
type NFSTraceRpcTaskFields ¶
type NFSTraceSchedLatencyT ¶
type NFSTraceSpanInfo ¶
type NFSTraceSpecs ¶
type NFSTraceSpecs struct {
NFSTraceProgramSpecs
NFSTraceMapSpecs
}
NFSTraceSpecs contains maps and programs before they are loaded into the kernel.
It can be passed ebpf.CollectionSpec.Assign.