Exemplo n.º 1
0
JNIEXPORT void JNICALL Java_es_bsc_cepbatools_extrae_Wrapper_SetTaskID(
	JNIEnv *env, jclass jc, jint id)
{
	UNREFERENCED(env);
	UNREFERENCED(jc);

	TASKID = id;
	Extrae_set_taskid_function (get_task_id);
}
Exemplo n.º 2
0
JNIEXPORT void JNICALL Java_es_bsc_tools_extrae_Wrapper_Init(JNIEnv *env, jclass jc) {

	/*
	   char slaves[1000];
	   char order[1000];
	   char *name[4];
	   char buffer[1000];
	   FILE *fp;

	   sprintf(slaves,"wc -l %s/conf/slaves\n",getenv("HADOOP_PREFIX"));
	   sprintf(order, "grep -n `hostname` %s/conf/slaves  | cut -d \":\" -f1\n",getenv("HADOOP_PREFIX"));

	   fp = popen(slaves, "r");
	   if (fp == NULL) {
	   printf("Failed to run command\n" );
	   exit;
	   }

	   NUMTASKS=atoi(fgets(buffer, sizeof(buffer)-1, fp));

	   pclose(fp);
	   NUMTASKS += 3; // JT, NN1, NN2
	   printf("NUMTASKS: %d\n",NUMTASKS);	

	//name[2] = order;
	//TASKID = execvp("/bin/sh", name);
	fp = popen(order, "r");
	if (fp == NULL) {
	printf("Failed to run command\n" );
	exit;
	}

	TASKID=atoi(fgets(buffer, sizeof(buffer)-1, fp));
	pclose(fp);
	TASKID--;

	printf("TID: %d\n",TASKID);	
	 */

	printf("Wrapper.Init(): Empiezo un extrae!!\n");
	gen_task_id();

	Extrae_set_numthreads_function(get_num_threads);
	//Extrae_set_threadid_function(get_thread_id); //Problemas, porque?
	Extrae_set_taskid_function(get_task_id);
	Extrae_set_numtasks_function(get_num_tasks);
        if(!Extrae_is_initialized()){
		printf("Initializing Extrae by Wrapper.Init()...");
                Extrae_init();
        }else{
		printf("Extrae already Initialized when Wrapper.Init() called...");
	}
	fflush(stdout);
}
Exemplo n.º 3
0
int Extrae_CMD_Init (int i, int argc, char *argv[])
{
	int taskid, nthreads;
	char *endptr;

	if (argc-i < 2)
	{
		fprintf (stderr, CMD_INIT" command requires 2 parameters TASKID and Number of Threads/Slots\n");
		return 0;
	}

	taskid = strtol (argv[i], &endptr, 10);
	if (endptr == &argv[i][strlen(argv[i])])
	{
		if (taskid < 0)
		{
			fprintf (stderr, CMD_INIT" command cannot handle negative TASKID\n");
			return 0;
		}
		else
			_TASKID = taskid;
	}

	nthreads = strtol (argv[i+1], &endptr, 10);
	if (endptr == &argv[i+1][strlen(argv[i+1])])
	{
		if (nthreads < 0)
		{
			fprintf (stderr, CMD_INIT" command cannot handle negative Number of Threads/Slots\n");
			return 0;
		}
		else
			_NTHREADS = nthreads;
	}

	Extrae_set_taskid_function (CMD_INIT_TASKID);
	Extrae_set_numthreads_function (CMD_INIT_NUMTHREADS);
	_NTASKS = _TASKID+1;
	Extrae_set_numtasks_function (CMD_INIT_NUMTASKS);
	putenv ("EXTRAE_ON=1");
	Extrae_init();

	Extrae_CMD_Init_dump_info();

	Extrae_fini();

	return 2;
}
Exemplo n.º 4
0
int Extrae_CMD_Emit (int i, int argc, char *argv[])
{
	int threadid;
	int type;
	long long value;
	extrae_type_t TYPE = 0;
	extrae_value_t VALUE = 0;
	char *endptr;
	char extrae_append_pid[128]; 

	if (argc-i < 3)
	{
		fprintf (stderr, CMD_EMIT" command requires 3 parameters SLOT, TYPE and VALUE\n");
		return 0;
	}

	Extrae_CMD_Emit_get_info();

	threadid = strtol (argv[i], &endptr, 10);
	if (endptr == &argv[i][strlen(argv[i])])
	{
		if (threadid < 0)
		{
			fprintf (stderr, CMD_EMIT" command cannot handle negative SLOT\n");
			return 0;
		}
		else
			_THREADID = threadid;
	}

	type = strtol (argv[i+1], &endptr, 10);
	if (endptr == &argv[i+1][strlen(argv[i+1])])
	{
		if (type < 0)
		{
			fprintf (stderr, CMD_EMIT" command cannot handle negative TYPE\n");
			return 0;
		}
		else
			TYPE = type;
	}

	value = strtoll (argv[i+2], &endptr, 10);
	if (endptr == &argv[i+2][strlen(argv[i+2])])
	{
		if (value < 0)
		{
			fprintf (stderr, CMD_EMIT" command cannot handle negative VALUE\n");
			return 0;
		}
		else
			VALUE = value;
	}

	Extrae_set_taskid_function (CMD_EMIT_TASKID);
	Extrae_set_numthreads_function (CMD_EMIT_NUMTHREADS);
	Extrae_set_threadid_function (CMD_EMIT_NUMTHREAD);
	_NTASKS = _TASKID+1;
	Extrae_set_numtasks_function (CMD_EMIT_NUMTASKS);

	putenv ("EXTRAE_ON=1");
	sprintf (extrae_append_pid, "EXTRAE_APPEND_PID=%u", pid);
	putenv (extrae_append_pid);

	Extrae_init ();

	Extrae_event (TYPE, VALUE);

	Extrae_fini ();

	return 3;
}