Lines Matching defs:sample
32 #include "sample-raw.h"
349 struct perf_sample *sample __maybe_unused,
359 struct perf_sample *sample __maybe_unused,
480 if (tool->sample == NULL)
481 tool->sample = process_event_sample_stub;
1089 static void callchain__lbr_callstack_printf(struct perf_sample *sample)
1091 struct ip_callchain *callchain = sample->callchain;
1092 struct branch_stack *lbr_stack = sample->branch_stack;
1093 struct branch_entry *entries = perf_sample__branch_entries(sample);
1138 struct perf_sample *sample)
1141 struct ip_callchain *callchain = sample->callchain;
1144 callchain__lbr_callstack_printf(sample);
1153 static void branch_stack__printf(struct perf_sample *sample, bool callstack)
1155 struct branch_entry *entries = perf_sample__branch_entries(sample);
1159 printf("%s: nr:%" PRIu64 "\n", "... branch stack", sample->branch_stack->nr);
1170 printf("%s: nr:%" PRIu64 "\n", "... branch callstack", sample->branch_stack->nr+1);
1173 for (i = 0; i < sample->branch_stack->nr; i++) {
1237 static void regs_user__printf(struct perf_sample *sample, const char *arch)
1239 struct regs_dump *user_regs = &sample->user_regs;
1245 static void regs_intr__printf(struct perf_sample *sample, const char *arch)
1247 struct regs_dump *intr_regs = &sample->intr_regs;
1259 static void evlist__print_tstamp(struct evlist *evlist, union perf_event *event, struct perf_sample *sample)
1270 printf("%u ", sample->cpu);
1273 printf("%" PRIu64 " ", sample->time);
1276 static void sample_read__printf(struct perf_sample *sample, u64 read_format)
1282 sample->read.time_enabled);
1286 sample->read.time_running);
1289 struct sample_read_value *value = sample->read.group.values;
1291 printf(".... group nr %" PRIu64 "\n", sample->read.group.nr);
1293 sample_read_group__for_each(value, sample->read.group.nr, read_format) {
1303 sample->read.one.id, sample->read.one.value);
1305 printf(", lost %" PRIu64, sample->read.one.lost);
1311 u64 file_offset, struct perf_sample *sample,
1322 evlist->trace_event_sample_raw(evlist, event, sample);
1324 if (sample)
1325 evlist__print_tstamp(evlist, event, sample);
1340 struct perf_sample *sample, const char *arch)
1349 event->header.misc, sample->pid, sample->tid, sample->ip,
1350 sample->period, sample->addr);
1355 callchain__printf(evsel, sample);
1358 branch_stack__printf(sample, evsel__has_branch_callstack(evsel));
1361 regs_user__printf(sample, arch);
1364 regs_intr__printf(sample, arch);
1367 stack_user__printf(&sample->user_stack);
1370 printf("... weight: %" PRIu64 "", sample->weight);
1372 printf(",0x%"PRIx16"", sample->ins_lat);
1373 printf(",0x%"PRIx16"", sample->p_stage_cyc);
1379 printf(" . data_src: 0x%"PRIx64"\n", sample->data_src);
1382 printf(" .. phys_addr: 0x%"PRIx64"\n", sample->phys_addr);
1385 printf(" .. data page size: %s\n", get_page_size_name(sample->data_page_size, str));
1388 printf(" .. code page size: %s\n", get_page_size_name(sample->code_page_size, str));
1391 printf("... transaction: %" PRIx64 "\n", sample->transaction);
1394 sample_read__printf(sample, evsel->core.attr.read_format);
1428 struct perf_sample *sample)
1431 ((sample->cpumode == PERF_RECORD_MISC_GUEST_KERNEL) ||
1432 (sample->cpumode == PERF_RECORD_MISC_GUEST_USER))) {
1435 if (sample->machine_pid)
1436 pid = sample->machine_pid;
1441 pid = sample->pid;
1459 struct perf_sample *sample,
1467 sample->id = v->id;
1468 sample->period = v->value - sid->period;
1478 * There's no reason to deliver sample
1481 if (!sample->period)
1485 return tool->sample(tool, event, sample, evsel, machine);
1491 struct perf_sample *sample,
1496 struct sample_read_value *v = sample->read.group.values;
1498 sample_read_group__for_each(v, sample->read.group.nr, read_format) {
1499 ret = deliver_sample_value(evlist, tool, event, sample, v,
1509 union perf_event *event, struct perf_sample *sample,
1516 /* Standard sample delivery. */
1518 return tool->sample(tool, event, sample, evsel, machine);
1522 return deliver_sample_group(evlist, tool, event, sample,
1525 return deliver_sample_value(evlist, tool, event, sample,
1526 &sample->read.one, machine);
1532 struct perf_sample *sample,
1539 dump_event(evlist, event, file_offset, sample, file_path);
1541 evsel = evlist__id2evsel(evlist, sample->id);
1543 machine = machines__find_for_cpumode(machines, event, sample);
1553 dump_sample(evsel, event, sample, perf_env__arch(NULL));
1556 dump_sample(evsel, event, sample, perf_env__arch(machine->env));
1557 return evlist__deliver_sample(evlist, tool, event, sample, evsel, machine);
1559 return tool->mmap(tool, event, sample, machine);
1563 return tool->mmap2(tool, event, sample, machine);
1565 return tool->comm(tool, event, sample, machine);
1567 return tool->namespaces(tool, event, sample, machine);
1569 return tool->cgroup(tool, event, sample, machine);
1571 return tool->fork(tool, event, sample, machine);
1573 return tool->exit(tool, event, sample, machine);
1577 return tool->lost(tool, event, sample, machine);
1582 return tool->lost_samples(tool, event, sample, machine);
1585 return tool->read(tool, event, sample, evsel, machine);
1587 return tool->throttle(tool, event, sample, machine);
1589 return tool->unthrottle(tool, event, sample, machine);
1599 return tool->aux(tool, event, sample, machine);
1601 return tool->itrace_start(tool, event, sample, machine);
1604 return tool->context_switch(tool, event, sample, machine);
1606 return tool->ksymbol(tool, event, sample, machine);
1608 return tool->bpf(tool, event, sample, machine);
1610 return tool->text_poke(tool, event, sample, machine);
1612 return tool->aux_output_hw_id(tool, event, sample, machine);
1625 struct perf_sample sample;
1626 int ret = evlist__parse_sample(session->evlist, event, &sample);
1629 pr_err("Can't parse sample, err = %d\n", ret);
1633 ret = auxtrace__process_event(session, event, &sample, tool);
1640 event, &sample, tool, file_offset, file_path);
1642 if (dump_trace && sample.aux_sample.size)
1643 auxtrace__dump_auxtrace_sample(session, &sample);
1655 struct perf_sample sample = { .time = 0, };
1661 dump_event(session->evlist, event, file_offset, &sample, file_path);
1727 dump_event(session->evlist, event, file_offset, &sample, file_path);
1738 struct perf_sample *sample)
1748 return machines__deliver_event(&session->machines, evlist, event, sample, tool, 0, NULL);
1763 struct perf_sample *sample)
1807 if (sample && event->header.type < PERF_RECORD_USER_TYPE_START &&
1808 evlist__parse_sample(session->evlist, event, sample))
2639 pr_err("No trace sample to read. Did you call 'perf %s'?\n", msg);