Lines Matching defs:sample

207 		u64 (*integer)(struct tp_field *field, struct perf_sample *sample);
208 void *(*pointer)(struct tp_field *field, struct perf_sample *sample);
213 static u64 tp_field__u##bits(struct tp_field *field, struct perf_sample *sample) \
216 memcpy(&value, sample->raw_data + field->offset, sizeof(value)); \
226 static u64 tp_field__swapped_u##bits(struct tp_field *field, struct perf_sample *sample) \
229 memcpy(&value, sample->raw_data + field->offset, sizeof(value)); \
266 static void *tp_field__ptr(struct tp_field *field, struct perf_sample *sample)
268 return sample->raw_data + field->offset;
485 #define perf_evsel__sc_tp_uint(evsel, name, sample) \
487 fields->name.integer(&fields->name, sample); })
489 #define perf_evsel__sc_tp_ptr(evsel, name, sample) \
491 fields->name.pointer(&fields->name, sample); })
1564 union perf_event *event, struct perf_sample *sample)
1572 ret = machine__process_lost_event(machine, event, sample);
1575 ret = machine__process_event(machine, event, sample);
1584 struct perf_sample *sample,
1588 return trace__process_event(trace, machine, event, sample);
2078 struct perf_sample *sample);
2150 int id, struct perf_sample *sample, long err, bool errno_summary)
2173 if (ttrace->entry_time && sample->time > ttrace->entry_time)
2174 duration = sample->time - ttrace->entry_time;
2233 struct perf_sample *sample, struct thread *thread)
2238 double ts = (double)sample->time / NSEC_PER_MSEC;
2243 sample->pid, sample->tid, sample->cpu);
2249 static void *syscall__augmented_args(struct syscall *sc, struct perf_sample *sample, int *augmented_args_size, int raw_augmented_args_size)
2268 *augmented_args_size = sample->raw_size - args_size;
2270 augmented_args = sample->raw_data + args_size;
2277 struct perf_sample *sample)
2283 int id = perf_evsel__sc_tp_uint(evsel, id, sample), err = -1;
2292 thread = machine__findnew_thread(trace->host, sample->pid, sample->tid);
2297 trace__fprintf_sample(trace, evsel, sample, thread);
2299 args = perf_evsel__sc_tp_ptr(evsel, args, sample);
2320 augmented_args = syscall__augmented_args(sc, sample, &augmented_args_size, trace->raw_augmented_syscalls_args_size);
2321 ttrace->entry_time = sample->time;
2355 struct perf_sample *sample)
2359 int id = perf_evsel__sc_tp_uint(evsel, id, sample), err = -1;
2368 thread = machine__findnew_thread(trace->host, sample->pid, sample->tid);
2377 args = perf_evsel__sc_tp_ptr(evsel, args, sample);
2378 augmented_args = syscall__augmented_args(sc, sample, &augmented_args_size, trace->raw_augmented_syscalls_args_size);
2388 struct perf_sample *sample,
2397 if (machine__resolve(trace->host, &al, sample) < 0)
2400 err = thread__resolve_callchain(al.thread, cursor, evsel, sample, NULL, NULL, max_stack);
2405 static int trace__fprintf_callchain(struct trace *trace, struct perf_sample *sample)
2412 return sample__fprintf_callchain(sample, 38, print_opts, &callchain_cursor, symbol_conf.bt_stop_list, trace->output);
2425 struct perf_sample *sample)
2431 int id = perf_evsel__sc_tp_uint(evsel, id, sample), err = -1, callchain_ret = 0, printed = 0;
2439 thread = machine__findnew_thread(trace->host, sample->pid, sample->tid);
2444 trace__fprintf_sample(trace, evsel, sample, thread);
2446 ret = perf_evsel__sc_tp_uint(evsel, ret, sample);
2449 thread__update_stats(thread, ttrace, id, sample, ret, trace->errno_summary);
2458 duration = sample->time - ttrace->entry_time;
2465 if (sample->callchain) {
2466 callchain_ret = trace__resolve_callchain(trace, evsel, sample, &callchain_cursor);
2546 trace__fprintf_callchain(trace, sample);
2559 struct perf_sample *sample)
2561 struct thread *thread = machine__findnew_thread(trace->host, sample->pid, sample->tid);
2566 const char *filename = evsel__rawptr(evsel, sample, "pathname");
2620 struct perf_sample *sample)
2622 u64 runtime = evsel__intval(evsel, sample, "runtime");
2625 sample->pid,
2626 sample->tid);
2641 evsel__strval(evsel, sample, "comm"),
2642 (pid_t)evsel__intval(evsel, sample, "pid"),
2644 evsel__intval(evsel, sample, "vruntime"));
2673 struct perf_sample *sample)
2675 binary__fprintf(sample->raw_data, sample->raw_size, 8,
2680 static size_t trace__fprintf_tp_fields(struct trace *trace, struct evsel *evsel, struct perf_sample *sample,
2712 offset = format_field__intval(field, sample, evsel->needs_swap);
2717 val = (uintptr_t)(sample->raw_data + offset);
2719 val = format_field__intval(field, sample, evsel->needs_swap);
2756 struct perf_sample *sample)
2769 thread = machine__findnew_thread(trace->host, sample->pid, sample->tid);
2771 if (sample->callchain) {
2772 callchain_ret = trace__resolve_callchain(trace, evsel, sample, &callchain_cursor);
2781 trace__fprintf_tstamp(trace, sample->time, trace->output);
2790 int id = perf_evsel__sc_tp_uint(evsel, id, sample);
2795 trace__fprintf_sys_enter(trace, evsel, sample);
2810 bpf_output__fprintf(trace, sample);
2813 trace__fprintf_sys_enter(trace, evsel, sample)) {
2815 event_format__fprintf(evsel->tp_format, sample->cpu,
2816 sample->raw_data, sample->raw_size,
2819 trace__fprintf_tp_fields(trace, evsel, sample, thread, NULL, 0);
2828 trace__fprintf_callchain(trace, sample);
2843 static void print_location(FILE *f, struct perf_sample *sample,
2857 fprintf(f, "0x%" PRIx64, sample->addr);
2863 struct perf_sample *sample)
2872 thread = machine__findnew_thread(trace->host, sample->pid, sample->tid);
2874 if (sample->callchain) {
2875 callchain_ret = trace__resolve_callchain(trace, evsel, sample, &callchain_cursor);
2895 thread__find_symbol(thread, sample->cpumode, sample->ip, &al);
2897 trace__fprintf_entry_head(trace, thread, 0, true, sample->time, trace->output);
2903 print_location(trace->output, sample, &al, false, true);
2907 thread__find_symbol(thread, sample->cpumode, sample->addr, &al);
2910 thread__find_symbol(thread, sample->cpumode, sample->addr, &al);
2918 print_location(trace->output, sample, &al, true, false);
2923 trace__fprintf_callchain(trace, sample);
2937 struct perf_sample *sample)
2941 * and don't use sample->time unconditionally, we may end up having
2949 trace->base_time = sample->time;
2954 struct perf_sample *sample,
2964 thread = machine__findnew_thread(trace->host, sample->pid, sample->tid);
2968 trace__set_base_time(trace, evsel, sample);
2972 handler(trace, evsel, event, sample);
3104 static void trace__handle_event(struct trace *trace, union perf_event *event, struct perf_sample *sample)
3110 trace__process_event(trace, trace->host, event, sample);
3114 evsel = perf_evlist__id2evsel(trace->evlist, sample->id);
3116 fprintf(trace->output, "Unknown tp ID %" PRIu64 ", skipping...\n", sample->id);
3123 trace__set_base_time(trace, evsel, sample);
3126 sample->raw_data == NULL) {
3127 fprintf(trace->output, "%s sample with no payload for tid: %d, cpu %d, raw_size=%d, skipping...\n",
3128 evsel__name(evsel), sample->tid,
3129 sample->cpu, sample->raw_size);
3132 handler(trace, evsel, event, sample);
3708 struct perf_sample sample;
3711 err = perf_evlist__parse_sample(evlist, event, &sample);
3713 fprintf(trace->output, "Can't parse sample, err = %d, skipping...\n", err);
3715 trace__handle_event(trace, event, &sample);
4202 trace->tool.sample = trace__process_sample;
4822 OPT_BOOLEAN(0, "print-sample", &trace.print_sample,