A
lgorithmique
N
umérique
D
istribuée
Public GIT Repository
projects
/
simgrid.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
| inline |
side by side
[trace] types are local, remove global dictionary
[simgrid.git]
/
src
/
instr
/
instr_paje_trace.c
diff --git
a/src/instr/instr_paje_trace.c
b/src/instr/instr_paje_trace.c
index
cd14471
..
b994510
100644
(file)
--- a/
src/instr/instr_paje_trace.c
+++ b/
src/instr/instr_paje_trace.c
@@
-155,7
+155,9
@@
void TRACE_paje_start(void)
{
char *filename = TRACE_get_filename();
tracing_file = fopen(filename, "w");
- xbt_assert (tracing_file != NULL, "Tracefile %s could not be opened for writing.", filename);
+ if (tracing_file == NULL){
+ THROWF (system_error, 1, "Tracefile %s could not be opened for writing.", filename);
+ }
XBT_DEBUG("Filename %s is open for writing", filename);
@@
-169,6
+171,7
@@
void TRACE_paje_end(void)
{
fclose(tracing_file);
char *filename = TRACE_get_filename();
+ xbt_dynar_free (&buffer);
XBT_DEBUG("Filename %s is closed", filename);
}
@@
-176,6
+179,7
@@
double TRACE_last_timestamp_to_dump = 0;
//dumps the trace file until the timestamp TRACE_last_timestamp_to_dump
void TRACE_paje_dump_buffer (int force)
{
+ if (!TRACE_is_enabled()) return;
XBT_DEBUG("%s: dump until %f. starts", __FUNCTION__, TRACE_last_timestamp_to_dump);
if (force){
paje_event_t event;
@@
-188,7
+192,7
@@
void TRACE_paje_dump_buffer (int force)
buffer = xbt_dynar_new (sizeof(paje_event_t), NULL);
}else{
paje_event_t event;
- while (
xbt_dynar_length (buffer) > 0
){
+ while (
!xbt_dynar_is_empty(buffer)
){
double head_timestamp = (*(paje_event_t*)xbt_dynar_get_ptr(buffer, 0))->timestamp;
if (head_timestamp > TRACE_last_timestamp_to_dump){
break;
@@
-223,7
+227,7
@@
void TRACE_paje_create_header(void)
%%EndEventDef \n\
%%EventDef PajeDefineEventType %d \n\
%% Alias string \n\
-%%
Entity
Type string \n\
+%%
Container
Type string \n\
%% Name string \n\
%% Color color \n\
%%EndEventDef \n\
@@
-250,46
+254,46
@@
void TRACE_paje_create_header(void)
%%EventDef PajeDestroyContainer %d \n\
%% Time date \n\
%% Type string \n\
-%%
Container
string \n\
+%%
Name
string \n\
%%EndEventDef \n\
%%EventDef PajeSetVariable %d \n\
%% Time date \n\
-%%
Entity
Type string \n\
+%% Type string \n\
%% Container string \n\
-%% Value
string
\n\
+%% Value
double
\n\
%%EndEventDef\n\
%%EventDef PajeAddVariable %d \n\
%% Time date \n\
-%%
Entity
Type string \n\
+%% Type string \n\
%% Container string \n\
-%% Value
string
\n\
+%% Value
double
\n\
%%EndEventDef\n\
%%EventDef PajeSubVariable %d \n\
%% Time date \n\
-%%
Entity
Type string \n\
+%% Type string \n\
%% Container string \n\
-%% Value
string
\n\
+%% Value
double
\n\
%%EndEventDef\n\
%%EventDef PajeSetState %d \n\
%% Time date \n\
-%%
Entity
Type string \n\
+%% Type string \n\
%% Container string \n\
%% Value string \n\
%%EndEventDef\n\
%%EventDef PajePushState %d \n\
%% Time date \n\
-%%
Entity
Type string \n\
+%% Type string \n\
%% Container string \n\
%% Value string \n\
%%EndEventDef\n\
%%EventDef PajePopState %d \n\
%% Time date \n\
-%%
Entity
Type string \n\
+%% Type string \n\
%% Container string \n\
%%EndEventDef\n\
%%EventDef PajeStartLink %d \n\
%% Time date \n\
-%%
Entity
Type string \n\
+%% Type string \n\
%% Container string \n\
%% Value string \n\
%% SourceContainer string \n\
@@
-297,7
+301,7
@@
void TRACE_paje_create_header(void)
%%EndEventDef\n\
%%EventDef PajeEndLink %d \n\
%% Time date \n\
-%%
Entity
Type string \n\
+%% Type string \n\
%% Container string \n\
%% Value string \n\
%% DestContainer string \n\
@@
-305,7
+309,7
@@
void TRACE_paje_create_header(void)
%%EndEventDef\n\
%%EventDef PajeNewEvent %d \n\
%% Time date \n\
-%%
Entity
Type string \n\
+%% Type string \n\
%% Container string \n\
%% Value string \n\
%%EndEventDef\n",
@@
-421,14
+425,14
@@
static void print_pajeCreateContainer(paje_event_t event)
{
XBT_DEBUG("%s: event_type=%d, timestamp=%f", __FUNCTION__, event->event_type, event->timestamp);
if (event->timestamp == 0){
- fprintf(tracing_file, "%d 0 %s %s %s
%s
\n",
+ fprintf(tracing_file, "%d 0 %s %s %s
\"%s\"
\n",
event->event_type,
((createContainer_t)event->data)->container->id,
((createContainer_t)event->data)->container->type->id,
((createContainer_t)event->data)->container->father->id,
((createContainer_t)event->data)->container->name);
}else{
- fprintf(tracing_file, "%d %lf %s %s %s
%s
\n",
+ fprintf(tracing_file, "%d %lf %s %s %s
\"%s\"
\n",
event->event_type,
event->timestamp,
((createContainer_t)event->data)->container->id,
@@
-635,12
+639,17
@@
static void print_pajeNewEvent (paje_event_t event)
static void free_paje_event (paje_event_t event)
{
XBT_DEBUG("%s: event_type=%d, timestamp=%f", __FUNCTION__, event->event_type, event->timestamp);
- if (event->event_type == PAJE_StartLink){
+ switch (event->event_type){
+ case PAJE_StartLink:
xbt_free (((startLink_t)(event->data))->value);
xbt_free (((startLink_t)(event->data))->key);
- }else if (event->event_type == PAJE_EndLink){
+ break;
+ case PAJE_EndLink:
xbt_free (((endLink_t)(event->data))->value);
xbt_free (((endLink_t)(event->data))->key);
+ break;
+ default:
+ break;
}
xbt_free (event->data);
xbt_free (event);