* |->creation_time (LttTime)
* |->insertion_time (LttTime)
* |->process_name (String, converted to GQuark)
- * |->thread_brand (String, converted to GQuark)
* |->execution_mode (LttvExecutionMode)
* |->execution_submode (LttvExecutionSubmode)
* |->process_status (LttvProcessStatus)
* state.creation_time
* state.insertion_time
* state.process_name
- * state.thread_brand
* state.execution_mode
* state.execution_submode
* state.process_status
else if(!g_ascii_strcasecmp(f->str,"process_name") ) {
se->field = LTTV_FILTER_STATE_P_NAME;
}
- else if(!g_ascii_strcasecmp(f->str,"thread_brand") ) {
- se->field = LTTV_FILTER_STATE_T_BRAND;
- }
else if(!g_ascii_strcasecmp(f->str,"execution_mode") ) {
se->field = LTTV_FILTER_STATE_EX_MODE;
}
case LTTV_FILTER_TRACE_NAME:
case LTTV_FILTER_TRACEFILE_NAME:
case LTTV_FILTER_STATE_P_NAME:
- case LTTV_FILTER_STATE_T_BRAND:
case LTTV_FILTER_EVENT_SUBNAME:
case LTTV_FILTER_STATE_EX_MODE:
case LTTV_FILTER_STATE_EX_SUBMODE:
case LTTV_FILTER_TRACE_NAME:
case LTTV_FILTER_TRACEFILE_NAME:
case LTTV_FILTER_STATE_P_NAME:
- case LTTV_FILTER_STATE_T_BRAND:
case LTTV_FILTER_EVENT_SUBNAME:
case LTTV_FILTER_STATE_EX_MODE:
case LTTV_FILTER_STATE_EX_SUBMODE:
case LTTV_FILTER_STATE_CT:
case LTTV_FILTER_STATE_IT:
case LTTV_FILTER_STATE_P_NAME:
- case LTTV_FILTER_STATE_T_BRAND:
case LTTV_FILTER_STATE_EX_MODE:
case LTTV_FILTER_STATE_EX_SUBMODE:
case LTTV_FILTER_STATE_P_STATUS:
return se->op((gpointer)&quark,v);
}
break;
- case LTTV_FILTER_STATE_T_BRAND:
- if(state == NULL) return TRUE;
- else {
- GQuark quark = state->brand;
- return se->op((gpointer)&quark,v);
- }
- break;
case LTTV_FILTER_STATE_EX_MODE:
if(state == NULL) return TRUE;
else return se->op((gpointer)&state->state->t,v);
LTTV_FILTER_STATE_CT, /**< state.creation_time (double) */
LTTV_FILTER_STATE_IT, /**< state.insertion_time (double) */
LTTV_FILTER_STATE_P_NAME, /**< state.process_name (char*) */
- LTTV_FILTER_STATE_T_BRAND, /**< state.thread_brand (char*) */
LTTV_FILTER_STATE_EX_MODE, /**< state.execution_mode (LttvExecutionMode) */
LTTV_FILTER_STATE_EX_SUBMODE, /**< state.execution_submode (LttvExecutionSubmode) */
LTTV_FILTER_STATE_P_STATUS, /**< state.process_status (LttvProcessStatus) */
ltt_trace_name(ltt_tracefile_get_trace(tfs->parent.tf))),
g_quark_to_string(ltt_tracefile_name(tfs->parent.tf)), cpu);
/* Print the process id and the state/interrupt type of the process */
- g_string_append_printf(s,", %u, %u, %s, %s, %u, 0x%" PRIx64", %s",
+ g_string_append_printf(s,", %u, %u, %s, %u, 0x%" PRIx64", %s",
process->pid,
process->tgid,
g_quark_to_string(process->name),
- g_quark_to_string(process->brand),
process->ppid,
process->current_function,
g_quark_to_string(process->state->t));
LTT_EVENT_STATEDUMP_END,
LTT_EVENT_FUNCTION_ENTRY,
LTT_EVENT_FUNCTION_EXIT,
- LTT_EVENT_THREAD_BRAND,
LTT_EVENT_REQUEST_ISSUE,
LTT_EVENT_REQUEST_COMPLETE,
LTT_EVENT_LIST_INTERRUPT,
LTTV_STATE_RUN,
LTTV_STATE_DEAD;
-GQuark
- LTTV_STATE_UNBRANDED;
-
LttvProcessType
LTTV_STATE_USER_THREAD,
LTTV_STATE_KERNEL_THREAD;
guint64 address;
process = (LttvProcessState *)value;
- fprintf(fp," <PROCESS CORE=%p PID=%u TGID=%u PPID=%u TYPE=\"%s\" CTIME_S=%lu CTIME_NS=%lu ITIME_S=%lu ITIME_NS=%lu NAME=\"%s\" BRAND=\"%s\" CPU=\"%u\" FREE_EVENTS=\"%u\">\n",
+ fprintf(fp," <PROCESS CORE=%p PID=%u TGID=%u PPID=%u TYPE=\"%s\" CTIME_S=%lu CTIME_NS=%lu ITIME_S=%lu ITIME_NS=%lu NAME=\"%s\" CPU=\"%u\" FREE_EVENTS=\"%u\">\n",
process, process->pid, process->tgid, process->ppid,
g_quark_to_string(process->type),
process->creation_time.tv_sec,
process->insertion_time.tv_sec,
process->insertion_time.tv_nsec,
g_quark_to_string(process->name),
- g_quark_to_string(process->brand),
process->cpu, process->free_events);
for(i = 0 ; i < process->execution_stack->len; i++) {
//fprintf(fp, "%s", g_quark_to_string(process->name));
//fputc('\0', fp);
fwrite(&process->name, sizeof(process->name), 1, fp);
- //fprintf(fp, "%s", g_quark_to_string(process->brand));
//fputc('\0', fp);
- fwrite(&process->brand, sizeof(process->brand), 1, fp);
fwrite(&process->pid, sizeof(process->pid), 1, fp);
fwrite(&process->free_events, sizeof(process->free_events), 1, fp);
fwrite(&process->tgid, sizeof(process->tgid), 1, fp);
fwrite(&process->insertion_time, sizeof(process->insertion_time), 1, fp);
#if 0
- fprintf(fp," <PROCESS CORE=%p PID=%u TGID=%u PPID=%u TYPE=\"%s\" CTIME_S=%lu CTIME_NS=%lu ITIME_S=%lu ITIME_NS=%lu NAME=\"%s\" BRAND=\"%s\" CPU=\"%u\" PROCESS_TYPE=%u>\n",
+ fprintf(fp," <PROCESS CORE=%p PID=%u TGID=%u PPID=%u TYPE=\"%s\" CTIME_S=%lu CTIME_NS=%lu ITIME_S=%lu ITIME_NS=%lu NAME=\"%s\" CPU=\"%u\" PROCESS_TYPE=%u>\n",
process, process->pid, process->tgid, process->ppid,
g_quark_to_string(process->type),
process->creation_time.tv_sec,
process->insertion_time.tv_sec,
process->insertion_time.tv_nsec,
g_quark_to_string(process->name),
- g_quark_to_string(process->brand),
process->cpu);
#endif //0
res = fread(&tmp.type, sizeof(tmp.type), 1, fp);
res += fread(&tmp.name, sizeof(tmp.name), 1, fp);
- res += fread(&tmp.brand, sizeof(tmp.brand), 1, fp);
res += fread(&tmp.pid, sizeof(tmp.pid), 1, fp);
res += fread(&tmp.free_events, sizeof(tmp.free_events), 1, fp);
res += fread(&tmp.tgid, sizeof(tmp.tgid), 1, fp);
(gchar*)g_ptr_array_index(quarktable, tmp.type));
process->tgid = tmp.tgid;
process->ppid = tmp.ppid;
- process->brand = g_quark_from_string(
- (gchar*)g_ptr_array_index(quarktable, tmp.brand));
process->name =
g_quark_from_string((gchar*)g_ptr_array_index(quarktable, tmp.name));
process->free_events = tmp.free_events;
g_info("process state has %s when pop_int is %s\n",
g_quark_to_string(process->state->t),
g_quark_to_string(t));
- g_info("{ %u, %u, %s, %s, %s }\n",
+ g_info("{ %u, %u, %s, %s }\n",
process->pid,
process->ppid,
g_quark_to_string(process->name),
- g_quark_to_string(process->brand),
g_quark_to_string(process->state->s));
return;
}
process->tgid = tgid;
process->cpu = cpu;
process->name = name;
- process->brand = LTTV_STATE_UNBRANDED;
//process->last_cpu = tfs->cpu_name;
//process->last_cpu_index = ltt_tracefile_num(((LttvTracefileContext*)tfs)->tf);
process->type = LTTV_STATE_USER_THREAD;
}
g_assert(child_process->name == LTTV_STATE_UNNAMED);
child_process->name = process->name;
- child_process->brand = process->brand;
return FALSE;
}
process->name = g_quark_from_string(lttv_event_get_string(event,
"filename"));
- process->brand = LTTV_STATE_UNBRANDED;
//g_free(null_term_name);
return FALSE;
}
-#ifdef BABEL_CLEANUP
-static gboolean thread_brand(void *hook_data, void *call_data)
-{
- LttvTracefileState *s = (LttvTracefileState *)call_data;
- LttvTraceState *ts = (LttvTraceState*)s->parent.t_context;
- LttEvent *e = ltt_tracefile_get_event(s->parent.tf);
- LttvTraceHook *th = (LttvTraceHook *)hook_data;
- gchar *name;
- guint cpu = s->cpu;
- LttvProcessState *process = ts->running_process[cpu];
-
- name = ltt_event_get_string(e, lttv_trace_get_hook_field(th, 0));
- process->brand = g_quark_from_string(name);
-
- return FALSE;
-}
-#endif
#if 0
// TODO We only have sys_open, without the FD
// manage to do somehting better
FIELD_ARRAY(LTT_FIELD_FILENAME),
process_exec, NULL, &hooks);
- lttv_trace_find_hook(ts->parent.t,
- LTT_CHANNEL_USERSPACE,
- LTT_EVENT_THREAD_BRAND,
- FIELD_ARRAY(LTT_FIELD_NAME),
- thread_brand, NULL, &hooks);
-
/* statedump-related hooks */
lttv_trace_find_hook(ts->parent.t,
LTT_CHANNEL_TASK_STATE,
static void module_init(void)
{
LTTV_STATE_UNNAMED = g_quark_from_string("");
- LTTV_STATE_UNBRANDED = g_quark_from_string("");
LTTV_STATE_MODE_UNKNOWN = g_quark_from_string("MODE_UNKNOWN");
LTTV_STATE_USER_MODE = g_quark_from_string("USER_MODE");
LTTV_STATE_MAYBE_USER_MODE = g_quark_from_string("MAYBE_USER_MODE");
LTT_EVENT_STATEDUMP_END = g_quark_from_string("statedump_end");
LTT_EVENT_FUNCTION_ENTRY = g_quark_from_string("function_entry");
LTT_EVENT_FUNCTION_EXIT = g_quark_from_string("function_exit");
- LTT_EVENT_THREAD_BRAND = g_quark_from_string("thread_brand");
LTT_EVENT_REQUEST_ISSUE = g_quark_from_string("_blk_request_issue");
LTT_EVENT_REQUEST_COMPLETE = g_quark_from_string("_blk_request_complete");
LTT_EVENT_LIST_INTERRUPT = g_quark_from_string("interrupt");
LTT_EVENT_STATEDUMP_END,
//LTT_EVENT_FUNCTION_ENTRY,
//LTT_EVENT_FUNCTION_EXIT,
- LTT_EVENT_THREAD_BRAND,
LTT_EVENT_REQUEST_ISSUE,
LTT_EVENT_REQUEST_COMPLETE,
LTT_EVENT_LIST_INTERRUPT,
LTTV_STATE_RUN,
LTTV_STATE_DEAD;
-extern GQuark
- LTTV_STATE_UNBRANDED;
-
typedef GQuark LttvProcessType;
extern LttvProcessType
LttTime creation_time;
LttTime insertion_time;
GQuark name;
- GQuark brand;
GQuark pid_time;
GArray *execution_stack; /* Array of LttvExecutionState */
LttvExecutionState *state; /* Top of interrupt stack */
events_request,
&hooks);
- lttv_trace_find_hook(ts->parent.t,
- LTT_CHANNEL_USERSPACE,
- LTT_EVENT_THREAD_BRAND,
- FIELD_ARRAY(LTT_FIELD_NAME),
- after_user_generic_thread_brand_hook,
- events_request,
- &hooks);
-
lttv_trace_find_hook(ts->parent.t,
LTT_CHANNEL_TASK_STATE,
LTT_EVENT_PROCESS_STATE,
&birth,
trace_num,
process->name,
- process->brand,
&pl_height,
&process_info,
&hashed_process_data);
int after_process_exit_hook(void *hook_data, void *call_data);
int after_process_fork_hook(void *hook_data, void *call_data);
int after_fs_exec_hook(void *hook_data, void *call_data);
-int after_user_generic_thread_brand_hook(void *hook_data, void *call_data);
int after_event_enum_process_hook(void *hook_data, void *call_data);
#if 0
gpointer user_data)
{
gchar *a_name;
- gchar *a_brand;
guint a_pid, a_tgid, a_ppid, a_cpu;
gulong a_birth_s, a_birth_ns;
guint a_trace;
gchar *b_name;
- gchar *b_brand;
guint b_pid, b_tgid, b_ppid, b_cpu;
gulong b_birth_s, b_birth_ns;
guint b_trace;
gtk_tree_model_get(model,
it_a,
PROCESS_COLUMN, &a_name,
- BRAND_COLUMN, &a_brand,
PID_COLUMN, &a_pid,
TGID_COLUMN, &a_tgid,
PPID_COLUMN, &a_ppid,
gtk_tree_model_get(model,
it_b,
PROCESS_COLUMN, &b_name,
- BRAND_COLUMN, &b_brand,
PID_COLUMN, &b_pid,
TGID_COLUMN, &b_tgid,
PPID_COLUMN, &b_ppid,
/* Create the Process list */
process_list->list_store = gtk_list_store_new ( N_COLUMNS,
- G_TYPE_STRING,
G_TYPE_STRING,
G_TYPE_UINT,
G_TYPE_UINT,
process_list->button = column->button;
- column = gtk_tree_view_column_new_with_attributes ( "Brand",
- renderer,
- "text",
- BRAND_COLUMN,
- NULL);
- gtk_tree_view_column_set_alignment (column, 0.0);
- gtk_tree_view_column_set_sizing(column, GTK_TREE_VIEW_COLUMN_GROW_ONLY);
- gtk_tree_view_column_set_resizable(column, TRUE);
- gtk_tree_view_append_column (
- GTK_TREE_VIEW (process_list->process_list_widget), column);
-
column = gtk_tree_view_column_new_with_attributes ( "PID",
renderer,
"text",
-1);
}
-void processlist_set_brand(ProcessList *process_list,
- GQuark brand,
- HashedProcessData *hashed_process_data)
-{
- gtk_list_store_set ( process_list->list_store, &hashed_process_data->y_iter,
- BRAND_COLUMN, g_quark_to_string(brand),
- -1);
-}
-
void processlist_set_tgid(ProcessList *process_list,
guint tgid,
HashedProcessData *hashed_process_data)
LttTime *birth,
guint trace_num,
GQuark name,
- GQuark brand,
guint *height,
ProcessInfo **pm_process_info,
HashedProcessData **pm_hashed_process_data)
gtk_list_store_set ( process_list->list_store, &hashed_process_data->y_iter,
PROCESS_COLUMN, g_quark_to_string(name),
- BRAND_COLUMN, g_quark_to_string(brand),
PID_COLUMN, pid,
TGID_COLUMN, tgid,
PPID_COLUMN, ppid,
enum
{
PROCESS_COLUMN,
- BRAND_COLUMN,
PID_COLUMN,
TGID_COLUMN,
PPID_COLUMN,
/* CPU num is only used for PID 0 */
int processlist_add(ProcessList *process_list, Drawing_t * drawing,
guint pid, guint tgid, guint cpu, guint ppid,
- LttTime *birth, guint trace_num, GQuark name, GQuark brand, guint *height,
+ LttTime *birth, guint trace_num, GQuark name, guint *height,
ProcessInfo **process_info,
HashedProcessData **hashed_process_data);
// out : success (0) and height
GQuark name,
HashedProcessData *hashed_process_data);
-void processlist_set_brand(ProcessList *process_list,
- GQuark brand,
- HashedProcessData *hashed_process_data);
-
/* Set the ppid of a process */
void processlist_set_tgid(ProcessList *process_list,
guint tgid,
g_ptr_array_add(fvd->f_field_options,(gpointer) g_string_new("channel.name"));
g_ptr_array_add(fvd->f_field_options,(gpointer) g_string_new("trace.name"));
g_ptr_array_add(fvd->f_field_options,(gpointer) g_string_new("state.process_name"));
- g_ptr_array_add(fvd->f_field_options,(gpointer) g_string_new("state.thread_brand"));
g_ptr_array_add(fvd->f_field_options,(gpointer) g_string_new("state.pid"));
g_ptr_array_add(fvd->f_field_options,(gpointer) g_string_new("state.ppid"));
g_ptr_array_add(fvd->f_field_options,(gpointer) g_string_new("state.creation_time"));
// &hooks);
//
// lttv_trace_find_hook(ts->parent.t,
-// LTT_FACILITY_USER_GENERIC,
-// LTT_EVENT_THREAD_BRAND,
-// FIELD_ARRAY(LTT_FIELD_NAME),
-// after_user_generic_thread_brand_hook,
-// events_request,
-// &hooks);
-//
-// lttv_trace_find_hook(ts->parent.t,
// LTT_FACILITY_LIST,
// LTT_EVENT_PROCESS_STATE,
// FIELD_ARRAY(LTT_FIELD_PID, LTT_FIELD_PARENT_PID, LTT_FIELD_NAME),
int after_process_exit_hook(void *hook_data, void *call_data);
int after_process_fork_hook(void *hook_data, void *call_data);
int after_fs_exec_hook(void *hook_data, void *call_data);
-int after_user_generic_thread_brand_hook(void *hook_data, void *call_data);
int after_event_enum_process_hook(void *hook_data, void *call_data);
#if 0
GQuark name,
HashedResourceData *hashed_process_data);
-void processlist_set_brand(ProcessList *process_list,
- GQuark brand,
- HashedResourceData *hashed_process_data);
-
/* Set the ppid of a process */
void processlist_set_tgid(ProcessList *process_list,
guint tgid,
static const char default_format[] =
"channel:%c event:%e timestamp:%t elapsed:%l cpu:%u pid:%d "
- "ppid:%i tgpid:%g process:%p brand:%b state:%a payload:{ %m }";
+ "ppid:%i tgpid:%g process:%p state:%a payload:{ %m }";
static const char textDump_format[] =
- "%c.%e: %s.%n (%r/%c_%u), %d, %g, %p, %b, %i, %y, %a { %m }";
+ "%c.%e: %s.%n (%r/%c_%u), %d, %g, %p, %i, %y, %a { %m }";
static const char strace_format[] = "%e(%m) %s.%n";
static const char *fmt;
g_string_append(string_buffer,
g_quark_to_string(process->name));
break;
- case 'b':
- g_string_append(string_buffer,
- g_quark_to_string(process->brand));
- break;
case 'u':
g_string_append_printf(string_buffer, "%u", cpu);
break;
" %i ppid\n"
" %g tgid\n"
" %u cpu\n"
- " %b brand\n"
" %a state\n"
" %y memory address\n"
" %m markers and tracepoints fields\n",
g_print("state.creation_time (double)\n");
g_print("state.insertion_time (double)\n");
g_print("state.process_name (string)\n");
- g_print("state.thread_brand (string)\n");
g_print("state.execution_mode (string)\n");
g_print("state.execution_submode (string)\n");
g_print("state.process_status (string)\n");