void new_pajePushStateWithExtra (double timestamp, container_t container, type_t type, val_t value, void* extra) { paje_event_t event = xbt_new0(s_paje_event_t, 1); event->event_type = PAJE_PushState; event->timestamp = timestamp; event->print = active_writer.print_PushState; event->free = &free_paje_event; event->data = xbt_new0(s_pushState_t, 1); (static_cast<pushState_t>(event->data))->type = type; (static_cast<pushState_t>(event->data))->container = container; (static_cast<pushState_t>(event->data))->value = value; (static_cast<pushState_t>(event->data))->extra = extra; #if HAVE_SMPI if (xbt_cfg_get_boolean("smpi/trace-call-location")) { smpi_trace_call_location_t* loc = smpi_trace_get_call_location(); (static_cast<pushState_t>(event->data))->filename = loc->filename; (static_cast<pushState_t>(event->data))->linenumber = loc->linenumber; } #endif XBT_DEBUG("%s: event_type=%d, timestamp=%f", __FUNCTION__, static_cast<int>(event->event_type), event->timestamp); insert_into_buffer (event); }
PajeEvent::PajeEvent(Container* container, Type* type, double timestamp, e_event_type eventType) : container_(container), type_(type), timestamp_(timestamp), eventType_(eventType) { XBT_DEBUG("%s: event_type=%u, timestamp=%.*f", __func__, eventType_, TRACE_precision(), timestamp_); if (trace_format == simgrid::instr::TraceFormat::Paje) { stream_ << std::fixed << std::setprecision(TRACE_precision()); stream_ << eventType_ << " " << timestamp_ << " " << type_->get_id() << " " << container_->get_id(); } insert_into_buffer(); };
void new_pajeResetState (double timestamp, container_t container, type_t type) { paje_event_t event = xbt_new0(s_paje_event_t, 1); event->event_type = PAJE_ResetState; event->timestamp = timestamp; event->print = active_writer.print_ResetState; event->free = &free_paje_event; event->data = xbt_new0(s_resetState_t, 1); (static_cast<resetState_t>(event->data))->type = type; (static_cast<resetState_t>(event->data))->container = container; XBT_DEBUG("%s: event_type=%d, timestamp=%f", __FUNCTION__, (int)event->event_type, event->timestamp); insert_into_buffer (event); }
void new_pajeNewEvent (double timestamp, container_t container, type_t type, val_t value) { paje_event_t event = xbt_new0(s_paje_event_t, 1); event->event_type = PAJE_NewEvent; event->timestamp = timestamp; event->print = active_writer.print_NewEvent; event->free = free_paje_event; event->data = xbt_new0(s_newEvent_t, 1); ((newEvent_t)(event->data))->type = type; ((newEvent_t)(event->data))->container = container; ((newEvent_t)(event->data))->value = value; XBT_DEBUG("%s: event_type=%d, timestamp=%f", __FUNCTION__, (int)event->event_type, event->timestamp); insert_into_buffer (event); }
void* worker(void* filename) { char* fullFileName=(char*)malloc(sizeof(char)*MAXLINESIZE); strcpy(fullFileName,pathToDir); strcat(fullFileName,filename); FILE* file=fopen(fullFileName,"r"); if(!file) { printf("Could not open file %s, line number: %d",fullFileName,line_no); pthread_exit(NULL); } char c; int line_number=1; char* fileLine=(char*)malloc(sizeof(char)*MAXLINESIZE); while(c!=EOF) { int i=0; while(!feof(file) && (c=fgetc(file)) && c!=EOF && c!='\n' ) { fileLine[i]=c; i++; } fileLine[i]='\0'; if(strcontains(fileLine,keyword,strlen(fileLine),strlen(keyword))==1)//insert item { char* printLine=(char*)malloc(sizeof(char)*MAXLINESIZE); strcpy(printLine,fileLine); char* printFileName=(char*)malloc(sizeof(char)*MAXLINESIZE); strcpy(printFileName,filename); pthread_mutex_lock(&buffer_lock); insert_into_buffer(printFileName,line_number,printLine); pthread_mutex_unlock(&buffer_lock); } line_number++; } free(fileLine); fclose(file); free(filename); pthread_mutex_lock(&running_mutex); running_threads--; pthread_mutex_unlock(&running_mutex); free(fullFileName); pthread_exit(NULL); }
void new_pajeEndLink (double timestamp, container_t container, type_t type, container_t destContainer, const char *value, const char *key) { paje_event_t event = xbt_new0(s_paje_event_t, 1); event->event_type = PAJE_EndLink; event->timestamp = timestamp; event->print = active_writer.print_EndLink; event->free = &free_paje_event; event->data = xbt_new0(s_endLink_t, 1); (static_cast<endLink_t>(event->data))->type = type; (static_cast<endLink_t>(event->data))->container = container; (static_cast<endLink_t>(event->data))->destContainer = destContainer; (static_cast<endLink_t>(event->data))->value = xbt_strdup(value); (static_cast<endLink_t>(event->data))->key = xbt_strdup(key); XBT_DEBUG("%s: event_type=%d, timestamp=%f", __FUNCTION__, (int)event->event_type, event->timestamp); insert_into_buffer (event); }
void new_pajeStartLink (double timestamp, container_t container, type_t type, container_t sourceContainer, const char *value, const char *key) { paje_event_t event = xbt_new0(s_paje_event_t, 1); event->event_type = PAJE_StartLink; event->timestamp = timestamp; event->print = active_writer.print_StartLink; event->free = free_paje_event; event->data = xbt_new0(s_startLink_t, 1); ((startLink_t)(event->data))->type = type; ((startLink_t)(event->data))->container = container; ((startLink_t)(event->data))->sourceContainer = sourceContainer; ((startLink_t)(event->data))->value = xbt_strdup(value); ((startLink_t)(event->data))->key = xbt_strdup(key); ((startLink_t)(event->data))->size = -1; XBT_DEBUG("%s: event_type=%d, timestamp=%f", __FUNCTION__, (int)event->event_type, event->timestamp); insert_into_buffer (event); }
void new_pajeSetState (double timestamp, container_t container, type_t type, val_t value) { paje_event_t event = xbt_new0(s_paje_event_t, 1); event->event_type = PAJE_SetState; event->timestamp = timestamp; event->print = active_writer.print_SetState; event->free = free_paje_event; event->data = xbt_new0(s_setState_t, 1); ((setState_t)(event->data))->type = type; ((setState_t)(event->data))->container = container; ((setState_t)(event->data))->value = value; #if HAVE_SMPI if (xbt_cfg_get_boolean("smpi/trace-call-location")) { smpi_trace_call_location_t* loc = smpi_trace_get_call_location(); ((setState_t)(event->data))->filename = loc->filename; ((setState_t)(event->data))->linenumber = loc->linenumber; } #endif XBT_DEBUG("%s: event_type=%d, timestamp=%f", __FUNCTION__, (int)event->event_type, event->timestamp); insert_into_buffer (event); }
/* * format set is the only global specific option that * doesn't apply at system/subsystem level. */ static int corosync_main_config_format_set ( const char **error_string) { const char *error_reason; char new_format_buffer[PATH_MAX]; char *value = NULL; int err = 0; if (map_get_string("logging.fileline", &value) == CS_OK) { if (strcmp (value, "on") == 0) { if (!insert_into_buffer(new_format_buffer, sizeof(new_format_buffer), " %f:%l", "g]")) { err = logsys_format_set(new_format_buffer); } else if (!insert_into_buffer(new_format_buffer, sizeof(new_format_buffer), "%f:%l", NULL)) { err = logsys_format_set(new_format_buffer); } } else if (strcmp (value, "off") == 0) { /* nothing to do here */ } else { error_reason = "unknown value for fileline"; free(value); goto parse_error; } free(value); } if (err) { error_reason = "not enough memory to set logging format buffer"; goto parse_error; } if (map_get_string("logging.function_name", &value) == CS_OK) { if (strcmp (value, "on") == 0) { if (!insert_into_buffer(new_format_buffer, sizeof(new_format_buffer), "%n:", "f:")) { err = logsys_format_set(new_format_buffer); } else if (!insert_into_buffer(new_format_buffer, sizeof(new_format_buffer), " %n", "g]")) { err = logsys_format_set(new_format_buffer); } } else if (strcmp (value, "off") == 0) { /* nothing to do here */ } else { error_reason = "unknown value for function_name"; free(value); goto parse_error; } free(value); } if (err) { error_reason = "not enough memory to set logging format buffer"; goto parse_error; } if (map_get_string("logging.timestamp", &value) == CS_OK) { if (strcmp (value, "on") == 0) { if(!insert_into_buffer(new_format_buffer, sizeof(new_format_buffer), "%t ", NULL)) { err = logsys_format_set(new_format_buffer); } } else if (strcmp (value, "off") == 0) { /* nothing to do here */ } else { error_reason = "unknown value for timestamp"; free(value); goto parse_error; } free(value); } if (err) { error_reason = "not enough memory to set logging format buffer"; goto parse_error; } return (0); parse_error: *error_string = error_reason; return (-1); }