mirror of
https://github.com/FEX-Emu/linux.git
synced 2025-02-21 12:43:18 +00:00
perf top: Add a visual cue for toggle zeroing of samples
When 'perf top' is run, one can't easily find a difference between -z option and normal output. So I added a visual cue to know whether it is the zeroing or not. Output is as below. Before: $ perf top Samples: 61K of event 'cycles', Event count (approx.): 3908136933 Overhead Shared Object Symbol 1.42% firefox [.] 0x0000000000011e76 1.32% libpthread-2.17.so [.] pthread_mutex_lock If you press key 'z' or run with zero option like '$ perf top --zero', it is as below. After: Samples: 61K of event 'cycles', Event count (approx.): 3908136933 [z] Overhead Shared Object Symbol 1.42% firefox [.] 0x0000000000011e76 1.32% libpthread-2.17.so [.] pthread_mutex_lock Signed-off-by: Taeung Song <treeze.taeung@gmail.com> Acked-by: Namhyung Kim <namhyung@kernel.org> Cc: Namhyung Kim <namhyung@kernel.org> Cc: Stephane Eranian <eranian@google.com> Link: http://lkml.kernel.org/r/1412665995-26359-1-git-send-email-treeze.taeung@gmail.com Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com>
This commit is contained in:
parent
ec4212d88a
commit
1e378ebd11
@ -35,7 +35,9 @@ struct hist_browser {
|
||||
|
||||
extern void hist_browser__init_hpp(void);
|
||||
|
||||
static int hists__browser_title(struct hists *hists, char *bf, size_t size);
|
||||
static int hists__browser_title(struct hists *hists,
|
||||
struct hist_browser_timer *hbt,
|
||||
char *bf, size_t size);
|
||||
static void hist_browser__update_nr_entries(struct hist_browser *hb);
|
||||
|
||||
static struct rb_node *hists__filter_entries(struct rb_node *nd,
|
||||
@ -390,7 +392,7 @@ static int hist_browser__run(struct hist_browser *browser,
|
||||
browser->b.entries = &browser->hists->entries;
|
||||
browser->b.nr_entries = hist_browser__nr_entries(browser);
|
||||
|
||||
hists__browser_title(browser->hists, title, sizeof(title));
|
||||
hists__browser_title(browser->hists, hbt, title, sizeof(title));
|
||||
|
||||
if (ui_browser__show(&browser->b, title,
|
||||
"Press '?' for help on key bindings") < 0)
|
||||
@ -417,7 +419,8 @@ static int hist_browser__run(struct hist_browser *browser,
|
||||
ui_browser__warn_lost_events(&browser->b);
|
||||
}
|
||||
|
||||
hists__browser_title(browser->hists, title, sizeof(title));
|
||||
hists__browser_title(browser->hists,
|
||||
hbt, title, sizeof(title));
|
||||
ui_browser__show_title(&browser->b, title);
|
||||
continue;
|
||||
}
|
||||
@ -1204,7 +1207,15 @@ static struct thread *hist_browser__selected_thread(struct hist_browser *browser
|
||||
return browser->he_selection->thread;
|
||||
}
|
||||
|
||||
static int hists__browser_title(struct hists *hists, char *bf, size_t size)
|
||||
/* Check whether the browser is for 'top' or 'report' */
|
||||
static inline bool is_report_browser(void *timer)
|
||||
{
|
||||
return timer == NULL;
|
||||
}
|
||||
|
||||
static int hists__browser_title(struct hists *hists,
|
||||
struct hist_browser_timer *hbt,
|
||||
char *bf, size_t size)
|
||||
{
|
||||
char unit;
|
||||
int printed;
|
||||
@ -1258,6 +1269,13 @@ static int hists__browser_title(struct hists *hists, char *bf, size_t size)
|
||||
if (dso)
|
||||
printed += scnprintf(bf + printed, size - printed,
|
||||
", DSO: %s", dso->short_name);
|
||||
if (!is_report_browser(hbt)) {
|
||||
struct perf_top *top = hbt->arg;
|
||||
|
||||
if (top->zero)
|
||||
printed += scnprintf(bf + printed, size - printed, " [z]");
|
||||
}
|
||||
|
||||
return printed;
|
||||
}
|
||||
|
||||
@ -1269,12 +1287,6 @@ static inline void free_popup_options(char **options, int n)
|
||||
zfree(&options[i]);
|
||||
}
|
||||
|
||||
/* Check whether the browser is for 'top' or 'report' */
|
||||
static inline bool is_report_browser(void *timer)
|
||||
{
|
||||
return timer == NULL;
|
||||
}
|
||||
|
||||
/*
|
||||
* Only runtime switching of perf data file will make "input_name" point
|
||||
* to a malloced buffer. So add "is_input_name_malloced" flag to decide
|
||||
|
Loading…
x
Reference in New Issue
Block a user