I want to measure performance of some kernel functions using Ftrace but I want to measure it selectively for particular value of argument. This is because the same/other programs calling the same function (but with different argument) pollute my Ftrace output logs. Also, I don't want to set PID filter as it would not solve my issue (I'm running multiple parallel kernel threads, and same program can also call that function with different arguments) What's the best possible way of doing it without affecting the measurements? Is there any Ftrace functionality (or possibly customizing the trace points) that I'm missing?
Logging the kernel Ftrace point selectively for particular arguments
314 Views Asked by shivank At
1
There are 1 best solutions below
Related Questions in LINUX
- How do I recursively find and replace only in files named index.php on Linux webserver?
- passing text with \n as one argument in shell
- kernel module does not print packet info
- How to send ESC/POS commands to thermal printer in Linux
- (x64 Nasm) Writeline function on Linux
- How do I set the Hive user to something different than the Spark user from within a Spark program?
- Default priority of thread with SCHED_FIFO
- Calling a python function with options from shell script
- How to split a directory into parts without compressing or archiving?
- Cross compile simple standard C program on Linux for Mac
- How to offload NAPI poll function to workqueue
- python netifaces - How to get currently used network interface
- Unexpected output from function
- mingw-64 conflicting declarations when cross-compiling
- Different behavior of async with Visual Studio 2013(Windows8.1) and GCC 4.9(Ubuntu14.10)
Related Questions in PERFORMANCE
- Slow performance on ipad erasing image
- Can Apache Ant be told to cache its XML files?
- What are the pros and cons of the picture element?
- DB candidate as CouchDB/Schema replacement
- python member str performance too slow
- Split a large query (2 days) into pieces to increase the speed in Postgres
- Use GUI displayed results of SQL query vs new queries?
- fastest way to map a large number of longs
- Bash regular expression execution hangs on long expressions
- Why is calling a function so slow in Javascript?
- Performance of element-compare in java collections
- "Capture GPU Frame" in XCode -- iOS only?
- Efficiency penalty of initializing a struct/class within a loop
- Change the rotating speed of the circle when the mouse moves using javascript
- Replace foreach to make loop into queryable
Related Questions in PROFILING
- How to profile a Yii2 based API?
- "Capture GPU Frame" in XCode -- iOS only?
- How does one debug infinite recursion in Haskell?
- What is the procedure for profiling under GHC 7.10.1 and cabal 1.23?
- Visual Studio 2013 unable to create diagnostic report
- Xdebug profiling shows different execution time than actual one
- Application is faster when profiling
- Why is this script slowing down per item with increased amount of input?
- ASP.NET MVC application profiling
- Memory leak due to Window.EfectiveValues retention
- Can't get golang pprof working
- What is difference between "node --prof" and using node-profiler
- Improve performance on processing a big pandas dataframe
- Visualvm thread started count
- optimize arithmetic operations with stl vector
Related Questions in PERF
- How to get results each sec from "perf stat -d sleep 1000"
- QEMU-KVM and Perf Statistics
- How to measure if a program was run in parallel over multiple cores in Linux?
- perf: comparing "CPU performance / CPU impact" of two binaries?
- How can I capture combined kernel and userspace stacks with perf
- Monitoring Processes/Inter-process communication with Linux
- Compile Linux perf with ncurses interface?
- Why is IPC lower than one on a modern processor?
- Determining Instruction Size of A process / A function call in Linux
- Extract single line from command output in terminal
- Can't sample hardware cache events with linux perf
- Can I get the python call stack with the linux perf?
- perf stat frontend and backend cycles showing greater than 100%
- Understanding number of loads and stores retired in a x86 micro-benchmark
- Why are number of instructions non-deterministic in Linux performance counters
Related Questions in FTRACE
- How to Enable or configure ftrace module
- systrace output html only has cpu row
- Is it possible to decode filenames from event tracing?
- Is there a way to access the most recent user instruction pointer from the kernel?
- what do these trace events stand for?
- ftrace: output through GPIO
- Nonblocking read from a pipe in Linux
- How to benchmark a C program
- File is cleared after preventing writing to it by hooking sys_write
- ftrace into serial console during reboot
- Linux FTRACE function_graph process context
- Ftrace overhead comparison : trace_printk v/s custom tracepoint in linux
- Logging the kernel Ftrace point selectively for particular arguments
- Failed to trace the trace point of softirq_raise in Linux-5.11.4
- Ftrace on android freeze when turn on function trace, somebody help me :(
Trending Questions
- UIImageView Frame Doesn't Reflect Constraints
- Is it possible to use adb commands to click on a view by finding its ID?
- How to create a new web character symbol recognizable by html/javascript?
- Why isn't my CSS3 animation smooth in Google Chrome (but very smooth on other browsers)?
- Heap Gives Page Fault
- Connect ffmpeg to Visual Studio 2008
- Both Object- and ValueAnimator jumps when Duration is set above API LvL 24
- How to avoid default initialization of objects in std::vector?
- second argument of the command line arguments in a format other than char** argv or char* argv[]
- How to improve efficiency of algorithm which generates next lexicographic permutation?
- Navigating to the another actvity app getting crash in android
- How to read the particular message format in android and store in sqlite database?
- Resetting inventory status after order is cancelled
- Efficiently compute powers of X in SSE/AVX
- Insert into an external database using ajax and php : POST 500 (Internal Server Error)
Popular Questions
- How do I undo the most recent local commits in Git?
- How can I remove a specific item from an array in JavaScript?
- How do I delete a Git branch locally and remotely?
- Find all files containing a specific text (string) on Linux?
- How do I revert a Git repository to a previous commit?
- How do I create an HTML button that acts like a link?
- How do I check out a remote Git branch?
- How do I force "git pull" to overwrite local files?
- How do I list all files of a directory?
- How to check whether a string contains a substring in JavaScript?
- How do I redirect to another webpage?
- How can I iterate over rows in a Pandas DataFrame?
- How do I convert a String to an int in Java?
- Does Python have a string 'contains' substring method?
- How do I check if a string contains a specific word?
We can use Conditional Tracepoints for this kinds of case. This patch may also be helpful in understanding. One can check this file -
samples\trace_events\trace-events-sample.hin linux kernel to see sample examples.In
samples\trace_events\trace-events-sample.h, It became crystal-clear to me after seeing this macro -TRACE_EVENT_CONDITION(). Thanks to the author for providing a detailed documentation there.Moreover, one can use pre-defined event-tracepoints or define a new custom event tracepoint in
include/trace/events/*.hand filter the trace logs by adding condition inTRACE_DIR/tracing/events/EVENT/filter. This kernel documentation link is very helpful to understand this.