* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
- * You should have received a copy of the GNU General Public License
- * along with this program; if not, write to the Free Software
- * Foundation, Inc., 59 Temple Place - Suite 330, Boston,
- * MA 02111-1307, USA.
+ * You should have received a copy of the GNU General Public License along
+ * with this program; if not, write to the Free Software Foundation, Inc.,
+ * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
*/
#define _GNU_SOURCE
int pid, tid, ppid;
char *comm;
struct processtop *parent, *child;
- struct definition *scope;
unsigned long timestamp;
/* FIXME : display nice error when missing context pid, tid, ppid and comm */
if (timestamp == -1ULL)
goto error;
- scope = bt_ctf_get_top_level_scope(call_data, BT_STREAM_EVENT_CONTEXT);
-
- pid = bt_ctf_get_int64(bt_ctf_get_field(call_data, scope, "_pid"));
- if (bt_ctf_field_get_error()) {
+ pid = get_context_pid(call_data);
+ if (pid == -1ULL) {
// fprintf(stderr, "Missing pid context info\n");
goto error;
}
- tid = bt_ctf_get_int64(bt_ctf_get_field(call_data, scope, "_tid"));
- if (bt_ctf_field_get_error()) {
+ tid = get_context_tid(call_data);
+ if (tid == -1ULL) {
// fprintf(stderr, "Missing tid context info\n");
goto error;
}
- ppid = bt_ctf_get_int64(bt_ctf_get_field(call_data, scope, "_ppid"));
- if (bt_ctf_field_get_error()) {
+ ppid = get_context_ppid(call_data);
+ if (ppid == -1ULL) {
// fprintf(stderr, "Missing ppid context info\n");
goto error;
}
- comm = bt_ctf_get_char_array(bt_ctf_get_field(call_data, scope, "_procname"));
- if (bt_ctf_field_get_error()) {
+ comm = get_context_comm(call_data);
+ if (!comm) {
// fprintf(stderr, "Missing procname context info\n");
goto error;
}