Example #1
0
int main(int argc, char **argv)
{
	int n = 1000000;
	double PI25DT = 3.141592653589793238462643;
	double pi, h, area, x;
	extrae_type_t type = 1000;
	int nvalues = 2;
	extrae_value_t values[2] = {0, 1};
	char * description_values[2] = {"End", "Begin" };

	Extrae_init();
	Extrae_define_event_type (&type, "Kernel execution", &nvalues, values, description_values);

	h = 1.0 / (double) n;

	Extrae_event (1000, 1);
	area = pi_kernel (n, h);
	Extrae_event (1000, 0);
	pi = h * area;

	printf("pi is approximately %.16f, Error is %.16f\n",pi,fabs(pi - PI25DT));

	Extrae_fini();
}
Example #2
0
JNIEXPORT void JNICALL Java_es_bsc_cepbatools_extrae_Wrapper_defineEventType
	(JNIEnv *env, jclass jc, jint type, jstring description,
	jlongArray values, jobjectArray descriptionValues)
{
	char *cDescr;
	jint countValues, countDescriptionValues;

	UNREFERENCED(jc);

	if (values != NULL)
		countValues = (*env)->GetArrayLength(env, values);
	else
		countValues = 0;

	if (descriptionValues != NULL)
		countDescriptionValues = (*env)->GetArrayLength(env, descriptionValues);
	else
		countDescriptionValues = 0;

	cDescr = (char*)(*env)->GetStringUTFChars(env, description, NULL);
	if (cDescr != NULL)
	{
		if (countValues == countDescriptionValues && countValues > 0)
		{
			jlong *valuesArray = NULL;
			char *valDesc[countValues];

			valuesArray = (*env)->GetLongArrayElements(env, values, NULL);
			if (valuesArray != NULL)
			{
				jlong i;
				for (i = 0; i < countValues; i++)
				{
					valDesc[i] = (char*)(*env)->GetStringUTFChars(env,
					  (*env)->GetObjectArrayElement(env, descriptionValues, i),
					  NULL);
					if (valDesc[i] == NULL)
						return;
				}
				Extrae_define_event_type ((extrae_type_t *)&type, cDescr,
				  (unsigned *) &countValues, (extrae_value_t *)valuesArray,
			 	 valDesc);

				(*env)->ReleaseLongArrayElements(env, values, valuesArray,
				  JNI_ABORT);
				for (i = 0; i < countValues; i++)
				{
					jstring elem = (jstring)(*env)->GetObjectArrayElement (env,
					  descriptionValues, i);
					(*env)->ReleaseStringUTFChars(env, elem, valDesc[i]);
				}
			}
		}
		else
		{
			unsigned zero = 0;
			Extrae_define_event_type ((extrae_type_t*)&type, cDescr, &zero,
			  NULL, NULL);
		}
		(*env)->ReleaseStringUTFChars(env, description, cDescr);
	}
}