mirror of
https://github.com/eunomia-bpf/bpf-developer-tutorial.git
synced 2026-04-24 10:30:17 +08:00
Deploying to gh-pages from @ eunomia-bpf/bpf-developer-tutorial@31c92abad8 🚀
This commit is contained in:
@@ -19,7 +19,7 @@ int handle_exit(struct trace_event_raw_sched_process_template* ctx)
|
||||
struct task_struct *task;
|
||||
struct event *e;
|
||||
pid_t pid, tid;
|
||||
u64 id, ts, *start_ts, duration_ns = 0;
|
||||
u64 id, ts, *start_ts, start_time = 0;
|
||||
|
||||
/* get PID and TID of exiting thread/process */
|
||||
id = bpf_get_current_pid_tgid();
|
||||
@@ -37,8 +37,9 @@ int handle_exit(struct trace_event_raw_sched_process_template* ctx)
|
||||
|
||||
/* fill out the sample with data */
|
||||
task = (struct task_struct *)bpf_get_current_task();
|
||||
start_time = BPF_CORE_READ(task, start_time);
|
||||
|
||||
e->duration_ns = duration_ns;
|
||||
e->duration_ns = bpf_ktime_get_ns() - start_time;
|
||||
e->pid = pid;
|
||||
e->ppid = BPF_CORE_READ(task, real_parent, tgid);
|
||||
e->exit_code = (BPF_CORE_READ(task, exit_code) >> 8) & 0xff;
|
||||
|
||||
@@ -212,6 +212,7 @@ struct event {
|
||||
#include <bpf/bpf_tracing.h>
|
||||
#include <bpf/bpf_core_read.h>
|
||||
#include "exitsnoop.h"
|
||||
|
||||
char LICENSE[] SEC("license") = "Dual BSD/GPL";
|
||||
|
||||
struct {
|
||||
@@ -225,7 +226,7 @@ int handle_exit(struct trace_event_raw_sched_process_template* ctx)
|
||||
struct task_struct *task;
|
||||
struct event *e;
|
||||
pid_t pid, tid;
|
||||
u64 id, ts, *start_ts, duration_ns = 0;
|
||||
u64 id, ts, *start_ts, start_time = 0;
|
||||
|
||||
/* get PID and TID of exiting thread/process */
|
||||
id = bpf_get_current_pid_tgid();
|
||||
@@ -243,8 +244,9 @@ int handle_exit(struct trace_event_raw_sched_process_template* ctx)
|
||||
|
||||
/* fill out the sample with data */
|
||||
task = (struct task_struct *)bpf_get_current_task();
|
||||
start_time = BPF_CORE_READ(task, start_time);
|
||||
|
||||
e->duration_ns = duration_ns;
|
||||
e->duration_ns = bpf_ktime_get_ns() - start_time;
|
||||
e->pid = pid;
|
||||
e->ppid = BPF_CORE_READ(task, real_parent, tgid);
|
||||
e->exit_code = (BPF_CORE_READ(task, exit_code) >> 8) & 0xff;
|
||||
|
||||
@@ -1050,6 +1050,7 @@ struct event {
|
||||
#include <bpf/bpf_tracing.h>
|
||||
#include <bpf/bpf_core_read.h>
|
||||
#include "exitsnoop.h"
|
||||
|
||||
char LICENSE[] SEC("license") = "Dual BSD/GPL";
|
||||
|
||||
struct {
|
||||
@@ -1063,7 +1064,7 @@ int handle_exit(struct trace_event_raw_sched_process_template* ctx)
|
||||
struct task_struct *task;
|
||||
struct event *e;
|
||||
pid_t pid, tid;
|
||||
u64 id, ts, *start_ts, duration_ns = 0;
|
||||
u64 id, ts, *start_ts, start_time = 0;
|
||||
|
||||
/* get PID and TID of exiting thread/process */
|
||||
id = bpf_get_current_pid_tgid();
|
||||
@@ -1081,8 +1082,9 @@ int handle_exit(struct trace_event_raw_sched_process_template* ctx)
|
||||
|
||||
/* fill out the sample with data */
|
||||
task = (struct task_struct *)bpf_get_current_task();
|
||||
start_time = BPF_CORE_READ(task, start_time);
|
||||
|
||||
e->duration_ns = duration_ns;
|
||||
e->duration_ns = bpf_ktime_get_ns() - start_time;
|
||||
e->pid = pid;
|
||||
e->ppid = BPF_CORE_READ(task, real_parent, tgid);
|
||||
e->exit_code = (BPF_CORE_READ(task, exit_code) >> 8) & 0xff;
|
||||
|
||||
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
Reference in New Issue
Block a user