linux/tools/perf/util/top.h
<<
>>
Prefs
   1/* SPDX-License-Identifier: GPL-2.0 */
   2#ifndef __PERF_TOP_H
   3#define __PERF_TOP_H 1
   4
   5#include "tool.h"
   6#include "evswitch.h"
   7#include "annotate.h"
   8#include "ordered-events.h"
   9#include "record.h"
  10#include <linux/types.h>
  11#include <stddef.h>
  12#include <stdbool.h>
  13#include <sys/ioctl.h>
  14
  15struct evlist;
  16struct evsel;
  17struct perf_session;
  18
  19struct perf_top {
  20        struct perf_tool   tool;
  21        struct evlist *evlist, *sb_evlist;
  22        struct record_opts record_opts;
  23        struct annotation_options annotation_opts;
  24        struct evswitch    evswitch;
  25        /*
  26         * Symbols will be added here in perf_event__process_sample and will
  27         * get out after decayed.
  28         */
  29        u64                samples, lost, lost_total, drop, drop_total;
  30        u64                kernel_samples, us_samples;
  31        u64                exact_samples;
  32        u64                guest_us_samples, guest_kernel_samples;
  33        int                print_entries, count_filter, delay_secs;
  34        int                max_stack;
  35        bool               hide_kernel_symbols, hide_user_symbols, zero;
  36        bool               use_tui, use_stdio;
  37        bool               vmlinux_warned;
  38        bool               dump_symtab;
  39        bool               stitch_lbr;
  40        struct hist_entry  *sym_filter_entry;
  41        struct evsel       *sym_evsel;
  42        struct perf_session *session;
  43        struct winsize     winsize;
  44        int                realtime_prio;
  45        const char         *sym_filter;
  46        float              min_percent;
  47        unsigned int       nr_threads_synthesize;
  48
  49        struct {
  50                struct ordered_events   *in;
  51                struct ordered_events    data[2];
  52                bool                     rotate;
  53                pthread_mutex_t          mutex;
  54                pthread_cond_t           cond;
  55        } qe;
  56};
  57
  58#define CONSOLE_CLEAR ""
  59
  60size_t perf_top__header_snprintf(struct perf_top *top, char *bf, size_t size);
  61void perf_top__reset_sample_counters(struct perf_top *top);
  62#endif /* __PERF_TOP_H */
  63