// Copyright (C) 2005, 2006 IBM Corp. // // This file is part of systemtap, and is free software. You can // redistribute it and/or modify it under the terms of the GNU General // Public License (GPL); either version 2, or (at your option) any // later version. /* data tracing filter by pid return: 1 - if continue to log the raw data 0 - return without logging the raw data */ function filter_by_pid:long() %{ struct task_struct *cur = current; if(cur->tgid != _stp_pid) { /* to trace a specific process if we explicitly specify which process we want to trace by: 1. stap -c "process_to_trace" ... 2. stap -x pid_to_trace ... else we will trace all the processes */ if( _stp_target != 0 && cur->tgid != _stp_target) { THIS->__retvalue = 0; return; } THIS->__retvalue = 1; } else /*skip the events generated by stap itself*/ THIS->__retvalue = 0; return; %}