Example #1
0
int main (int argc, char **argv)
{
  poti_header (0, 0);
  poti_DefineContainerType ("ROOT", "0", "ROOT");
  poti_DefineContainerType ("PROCESS", "ROOT", "PROCESS");
  poti_DefineContainerType ("THREAD", "PROCESS", "THREAD");


  poti_CreateContainer (0, "root", "ROOT", "0", "root");
  poti_CreateContainer (0, "p1", "PROCESS", "root", "p1");
  poti_CreateContainer (0, "p2", "PROCESS", "root", "p2");
  poti_CreateContainer (0, "p3", "PROCESS", "root", "p3");

  poti_CreateContainer (0, "1t1", "THREAD", "p1", "t1");
  poti_CreateContainer (0, "1t2", "THREAD", "p1", "t2");
  poti_CreateContainer (0, "1t3", "THREAD", "p1", "t3");

  poti_CreateContainer (0, "2t1", "THREAD", "p2", "t1");
  poti_CreateContainer (0, "2t2", "THREAD", "p2", "t2");

  poti_CreateContainer (0, "3t1", "THREAD", "p3", "t1");

  poti_DestroyContainer (0.76, "PROCESS", "p2");
  
  poti_DestroyContainer (1.34, "ROOT", "root");

  return 0;
}
Example #2
0
int main (int argc, char **argv)
{
  //Vite-SVN requires a trace file with no extended events)
  //So:
  //first parameter set to 1 means basic header with no extended events
  //second parameter set to 0 means *new* header
  poti_header (1, 0);

  //Defining my types
  poti_DefineContainerType ("ROOT", "0", "ROOT");
  poti_DefineContainerType("THREAD", "ROOT", "THREAD");
  poti_DefineStateType("STATE", "THREAD", "STATE");
  poti_DefineLinkType("LINK", "ROOT", "THREAD", "THREAD", "LINK");

  //define values and color for the STATE type
  poti_DefineEntityValue("r", "STATE", "running", "0.0 1.0 0.0");
  poti_DefineEntityValue("i", "STATE", "idle", "0.3 0.3 0.3");

  //define values and color for the LINK type
  poti_DefineEntityValue("c", "LINK", "communication", "1 0 0");

  //Create my root container and containers for two threads
  poti_CreateContainer (0.01, "root", "ROOT", "0", "root");
  poti_CreateContainer (0.12, "thread-0", "THREAD", "root", "thread-0");
  poti_CreateContainer (0.23, "thread-1", "THREAD", "root", "thread-1");
  
  //Start a link from thread-0
  poti_StartLink (0.24, "root", "LINK", "thread-0", "c", "myKey-001");

  //Push and Pop two states for each thread
  poti_PushState (0.34, "thread-0", "STATE", "r");
  poti_PushState (0.45, "thread-1", "STATE", "r");
  poti_PopState  (0.56, "thread-0", "STATE");
  poti_PushState (0.67, "thread-0", "STATE", "i");
  poti_PopState  (0.78, "thread-1", "STATE");
  poti_PushState (0.89, "thread-1", "STATE", "i");
  poti_PopState  (0.90, "thread-0", "STATE");
  poti_PopState  (1.01, "thread-1", "STATE");

  //End the link at thread-1
  poti_EndLink (1.02, "root", "LINK", "thread-1", "c", "myKey-001");

  //Closing containers
  poti_DestroyContainer (1.12, "THREAD", "thread-0");
  poti_DestroyContainer (1.23, "THREAD", "thread-1");
  poti_DestroyContainer (1.34, "ROOT", "root");

  return 0;
}
Example #3
0
int main (int argc, char **argv)
{
  poti_init ();
  poti_header ();
  poti_DefineContainerType ("PROCESS", "0", "PROCESS");
  poti_DefineEventType ("EV", "PROCESS", "EV");

  poti_CreateContainer (0, "p1", "PROCESS", "0", "p1");

  poti_NewEvent(2.43, "p1", "EV", "PrimeiroEvento");
  poti_NewEvent(2.87, "p1", "EV", "SegundoEvento");

  //change the timestamp of destroy to be larger than that of latest NewEvent
  poti_DestroyContainer (1.34, "PROCESS", "p1");

  poti_close();
  return 0;
}
Example #4
0
int main (int argc, char **argv)
{
  poti_header (0, 0);
  poti_DefineContainerType ("PROCESS", "0", "PROCESS");
  poti_DefineStateType ("VAR", "PROCESS", "VAR");

  poti_CreateContainer (0, "p1", "PROCESS", "0", "p1");
  
  poti_SetState (0, "p1", "VAR", "Inicio");
  poti_PushState (0.32, "p1", "VAR", "Meio");
  poti_PopState (0.53, "p1", "VAR");
  poti_PushState (0.86, "p1", "VAR", "Fim");
  poti_PopState (0.99, "p1", "VAR");

  poti_DestroyContainer (1.34, "PROCESS", "p1");

  return 0;
}
Example #5
0
void create_poti_event (paje_line line)
{
  int identifier = atoi(line.word[0]); 
  PajeEventId eventId = getPajeEventId (identifier);
  switch (eventId) {
  case PajeDefineContainerTypeEventId:
    poti_DefineContainerType(line.word[getPajeFieldPosition(identifier,PAJE_Alias)],
			     line.word[getPajeFieldPosition(identifier,PAJE_Type)],
			     line.word[getPajeFieldPosition(identifier,PAJE_Name)]);
    break;
  case PajeDefineEventTypeEventId:
    poti_DefineEventType(line.word[getPajeFieldPosition(identifier,PAJE_Alias)],
			 line.word[getPajeFieldPosition(identifier,PAJE_Type)],
			 line.word[getPajeFieldPosition(identifier,PAJE_Name)]);
    break;
  case PajeDefineStateTypeEventId:
    poti_DefineStateType(line.word[getPajeFieldPosition(identifier,PAJE_Alias)],
			 line.word[getPajeFieldPosition(identifier,PAJE_Type)],
			 line.word[getPajeFieldPosition(identifier,PAJE_Name)]);
    break;
  case PajeDefineVariableTypeEventId:
    poti_DefineVariableType(line.word[getPajeFieldPosition(identifier,PAJE_Alias)],
			    line.word[getPajeFieldPosition(identifier,PAJE_Type)],
			    line.word[getPajeFieldPosition(identifier,PAJE_Name)],
			    line.word[getPajeFieldPosition(identifier,PAJE_Color)]);
    break;
  case PajeDefineLinkTypeEventId:
    poti_DefineLinkType(line.word[getPajeFieldPosition(identifier,PAJE_Alias)],
			line.word[getPajeFieldPosition(identifier,PAJE_Type)],
			line.word[getPajeFieldPosition(identifier,PAJE_StartContainerType)],
			line.word[getPajeFieldPosition(identifier,PAJE_EndContainerType)],
			line.word[getPajeFieldPosition(identifier,PAJE_Name)]);
    break;
  case PajeDefineEntityValueEventId:
    poti_DefineEntityValue(line.word[getPajeFieldPosition(identifier,PAJE_Alias)],
			   line.word[getPajeFieldPosition(identifier,PAJE_Type)],
			   line.word[getPajeFieldPosition(identifier,PAJE_Name)],
			   line.word[getPajeFieldPosition(identifier,PAJE_Color)]);
    break;
  case PajeCreateContainerEventId:
    poti_CreateContainer(strtod(line.word[getPajeFieldPosition(identifier,PAJE_Time)],NULL),
			 line.word[getPajeFieldPosition(identifier,PAJE_Alias)],
			 line.word[getPajeFieldPosition(identifier,PAJE_Type)],
			 line.word[getPajeFieldPosition(identifier,PAJE_Container)],
			 line.word[getPajeFieldPosition(identifier,PAJE_Name)]);
    break;
  case PajeDestroyContainerEventId:
    poti_DestroyContainer(strtod(line.word[getPajeFieldPosition(identifier,PAJE_Time)],NULL),
			  line.word[getPajeFieldPosition(identifier,PAJE_Type)],
			  line.word[getPajeFieldPosition(identifier,PAJE_Name)]);
    break;
  case PajeNewEventEventId:
    poti_NewEvent(strtod(line.word[getPajeFieldPosition(identifier,PAJE_Time)],NULL),
		  line.word[getPajeFieldPosition(identifier,PAJE_Container)],
		  line.word[getPajeFieldPosition(identifier,PAJE_Type)],
		  line.word[getPajeFieldPosition(identifier,PAJE_Value)]);
    break;
  case PajeSetStateEventId:
    poti_SetState(strtod(line.word[getPajeFieldPosition(identifier,PAJE_Time)],NULL),
		  line.word[getPajeFieldPosition(identifier,PAJE_Container)],
		  line.word[getPajeFieldPosition(identifier,PAJE_Type)],
		  line.word[getPajeFieldPosition(identifier,PAJE_Value)]);
    break;
  case PajePushStateEventId:
    poti_PushState(strtod(line.word[getPajeFieldPosition(identifier,PAJE_Time)],NULL),
		   line.word[getPajeFieldPosition(identifier,PAJE_Container)],
		   line.word[getPajeFieldPosition(identifier,PAJE_Type)],
		   line.word[getPajeFieldPosition(identifier,PAJE_Value)]);
    break;
  case PajePopStateEventId:
    poti_PopState(strtod(line.word[getPajeFieldPosition(identifier,PAJE_Time)],NULL),
		  line.word[getPajeFieldPosition(identifier,PAJE_Container)],
		  line.word[getPajeFieldPosition(identifier,PAJE_Type)]);
    break;
  case PajeResetStateEventId:
    poti_ResetState(strtod(line.word[getPajeFieldPosition(identifier,PAJE_Time)],NULL),
		    line.word[getPajeFieldPosition(identifier,PAJE_Container)],
		    line.word[getPajeFieldPosition(identifier,PAJE_Type)]);
    break;
  case PajeSetVariableEventId:
    poti_SetVariable(strtod(line.word[getPajeFieldPosition(identifier,PAJE_Time)],NULL),
		     line.word[getPajeFieldPosition(identifier,PAJE_Container)],
		     line.word[getPajeFieldPosition(identifier,PAJE_Type)],
		     strtod(line.word[getPajeFieldPosition(identifier,PAJE_Value)],NULL));
    break;
  case PajeAddVariableEventId:
    poti_AddVariable(strtod(line.word[getPajeFieldPosition(identifier,PAJE_Time)],NULL),
		     line.word[getPajeFieldPosition(identifier,PAJE_Container)],
		     line.word[getPajeFieldPosition(identifier,PAJE_Type)],
		     strtod(line.word[getPajeFieldPosition(identifier,PAJE_Value)],NULL));
    break;
  case PajeSubVariableEventId:
    poti_SubVariable(strtod(line.word[getPajeFieldPosition(identifier,PAJE_Time)],NULL),
		     line.word[getPajeFieldPosition(identifier,PAJE_Container)],
		     line.word[getPajeFieldPosition(identifier,PAJE_Type)],
		     strtod(line.word[getPajeFieldPosition(identifier,PAJE_Value)],NULL));
    break;
  case PajeStartLinkEventId:
    poti_StartLink(strtod(line.word[getPajeFieldPosition(identifier,PAJE_Time)],NULL),
		   line.word[getPajeFieldPosition(identifier,PAJE_Container)],
		   line.word[getPajeFieldPosition(identifier,PAJE_Type)],
		   line.word[getPajeFieldPosition(identifier,PAJE_StartContainer)],
		   line.word[getPajeFieldPosition(identifier,PAJE_Value)],
		   line.word[getPajeFieldPosition(identifier,PAJE_Key)]);
    break;
  case PajeEndLinkEventId:
    poti_EndLink(strtod(line.word[getPajeFieldPosition(identifier,PAJE_Time)],NULL),
		 line.word[getPajeFieldPosition(identifier,PAJE_Container)],
		 line.word[getPajeFieldPosition(identifier,PAJE_Type)],
		 line.word[getPajeFieldPosition(identifier,PAJE_EndContainer)],
		 line.word[getPajeFieldPosition(identifier,PAJE_Value)],
		 line.word[getPajeFieldPosition(identifier,PAJE_Key)]);
    break;
  default:
    break;
  }
}