Lines Matching +full:delta +full:- +full:x +full:- +full:threshold
1 /*-
2 * SPDX-License-Identifier: BSD-2-Clause
4 * Copyright (c) 2005-2007, Joseph Koshy
90 * - program executables,
91 * - shared libraries loaded by the runtime loader,
92 * - dlopen()'ed objects loaded by the program,
93 * - the runtime loader itself,
94 * - the kernel and kernel modules.
102 * segments and shared libraries loaded at process-specific locations.
106 * pmcstat_pcmap structures track per-image mappings.
119 * IMPLEMENTATION OF SYSTEM-WIDE CALLGRAPH OUTPUT
223 pr->pr_samples = 0; in pmcstat_stats_reset()
224 pr->pr_dubious_frames = 0; in pmcstat_stats_reset()
247 if (image->pi_addr2line == NULL) { in pmcstat_image_addr2line()
252 pmcstat_string_unintern(image->pi_fullpath)); in pmcstat_image_addr2line()
258 pmcstat_string_unintern(image->pi_fullpath)); in pmcstat_image_addr2line()
264 image->pi_fullpath)); in pmcstat_image_addr2line()
270 * New addr2line support recursive inline function with -i in pmcstat_image_addr2line()
274 snprintf(cmdline, sizeof(cmdline), "addr2line -Cfe \"%s\"", in pmcstat_image_addr2line()
276 image->pi_addr2line = popen(cmdline, "r+"); in pmcstat_image_addr2line()
277 if (image->pi_addr2line == NULL) { in pmcstat_image_addr2line()
288 if (feof(image->pi_addr2line) || ferror(image->pi_addr2line)) { in pmcstat_image_addr2line()
290 pclose(image->pi_addr2line); in pmcstat_image_addr2line()
291 image->pi_addr2line = NULL; in pmcstat_image_addr2line()
295 fprintf(image->pi_addr2line, "%p\n", (void *)addr); in pmcstat_image_addr2line()
297 if (fgets(funcname, funcname_len, image->pi_addr2line) == NULL) { in pmcstat_image_addr2line()
305 if (fgets(sourcefile, sourcefile_len, image->pi_addr2line) == NULL) { in pmcstat_image_addr2line()
323 * Given a pmcid in use, find its human-readable name.
332 if (pr->pr_pmcid == pmcid) in pmcstat_pmcid_to_name()
333 return (pmcstat_string_unintern(pr->pr_pmcname)); in pmcstat_pmcid_to_name()
348 if (pr->pr_pmcin == pmcin) in pmcstat_pmcindex_to_name()
349 return pmcstat_string_unintern(pr->pr_pmcname); in pmcstat_pmcindex_to_name()
364 if (pr->pr_pmcin == pmcin) in pmcstat_pmcindex_to_pmcr()
385 "%d 0x%x %d %d %c", ev.pl_u.pl_cc.pl_pid, in pmcstat_print_log()
402 PMCSTAT_PRINT_ENTRY("initlog","0x%x \"%s\"", in pmcstat_print_log()
408 "WARNING: Log version 0x%x != expected version 0x%x.", in pmcstat_print_log()
412 PMCSTAT_PRINT_ENTRY("map-in","%d %p \"%s\"", in pmcstat_print_log()
418 PMCSTAT_PRINT_ENTRY("map-out","%d %p %p", in pmcstat_print_log()
424 PMCSTAT_PRINT_ENTRY("allocate","0x%x \"%s\" 0x%x", in pmcstat_print_log()
430 PMCSTAT_PRINT_ENTRY("allocatedyn","0x%x \"%s\" 0x%x", in pmcstat_print_log()
436 PMCSTAT_PRINT_ENTRY("attach","0x%x %d \"%s\"", in pmcstat_print_log()
442 PMCSTAT_PRINT_ENTRY("detach","0x%x %d", in pmcstat_print_log()
447 PMCSTAT_PRINT_ENTRY("cswval","0x%x %d %jd", in pmcstat_print_log()
453 PMCSTAT_PRINT_ENTRY("create","%d %x \"%s\"", in pmcstat_print_log()
459 PMCSTAT_PRINT_ENTRY("exec","0x%x %d %p %p \"%s\"", in pmcstat_print_log()
467 PMCSTAT_PRINT_ENTRY("exitval","0x%x %d %jd", in pmcstat_print_log()
478 PMCSTAT_PRINT_ENTRY("userdata","0x%x", in pmcstat_print_log()
486 PMCSTAT_PRINT_ENTRY("thr-create","%d %d %x \"%s\"", in pmcstat_print_log()
493 PMCSTAT_PRINT_ENTRY("thr-exit","%d", in pmcstat_print_log()
508 "ERROR: event parsing failed (record %jd, offset 0x%jx).", in pmcstat_print_log()
560 pmcstat_string_unintern(pmcpr->pr_pmcname)); in pmcstat_refresh_top()
563 pmcstat_string_unintern(pmcpr->pr_pmcname), in pmcstat_refresh_top()
568 v = (pmcpr->pr_samples * 100.0) / ps_samples_period; in pmcstat_refresh_top()
576 pmcpr->pr_samples); in pmcstat_refresh_top()
581 pmcpr->pr_dubious_frames); in pmcstat_refresh_top()
605 if (pmcr == NULL || pmcr == pmcr->pr_merge) in pmcstat_changefilter()
641 wprintw(w, "switching to delta mode"); in pmcstat_keypress_log()
727 /* Reset everything if delta mode. */ in pmcstat_display_log()
745 if (strncmp(opt, "threshold=", 10) == 0) { in pmcstat_pluginconfigure_log()