< prev index next >

test/hotspot/jtreg/serviceability/jvmti/HeapMonitor/libHeapMonitor.c

Print this page




 543   }
 544 
 545   if (check_capability_error((*jvmti)->GetGarbageTraces(jvmti, NULL),
 546                              "Get Garbage Traces")) {
 547     return FALSE;
 548   }
 549 
 550   if (check_capability_error((*jvmti)->GetFrequentGarbageTraces(jvmti, NULL),
 551                              "Get Frequent Garbage Traces")) {
 552     return FALSE;
 553   }
 554 
 555   if (check_capability_error((*jvmti)->GetLiveTraces(jvmti, NULL),
 556                              "Get Live Traces")) {
 557     return FALSE;
 558   }
 559   return TRUE;
 560 }
 561 
 562 JNIEXPORT jboolean JNICALL
 563 Java_MyPackage_HeapMonitorStatCorrectnessTest_statsHaveExpectedNumberSamples(JNIEnv *env,
 564                                                                              jclass cls,
 565                                                                              int expected,
 566                                                                              int percent_error) {
 567   jvmtiHeapSamplingStats stats;
 568   check_error((*jvmti)->GetHeapSamplingStats(jvmti, &stats),
 569               "Heap Sampling Statistics");
 570 


 571   double diff_ratio = (stats.sample_count - expected);
 572   diff_ratio = (diff_ratio < 0) ? -diff_ratio : diff_ratio;
 573   diff_ratio /= expected;
 574 
 575   return diff_ratio * 100 < percent_error;
 576 }
 577 
 578 JNIEXPORT jdouble JNICALL
 579 Java_MyPackage_HeapMonitorStatRateTest_getAverageRate(JNIEnv *env, jclass cls) {
 580   jvmtiHeapSamplingStats stats;
 581   check_error((*jvmti)->GetHeapSamplingStats(jvmti, &stats),
 582               "Heap Sampling Statistics");
 583   return ((double) stats.sample_rate_accumulation) / stats.sample_rate_count;
 584 }
 585 
 586 JNIEXPORT jdouble JNICALL
 587 Java_MyPackage_HeapMonitorStackDepthTest_getAverageStackDepth(JNIEnv *env,
 588                                                               jclass cls) {
 589   jvmtiStackTraces traces;
 590   jvmtiError error = (*jvmti)->GetLiveTraces(jvmti, &traces);;




 543   }
 544 
 545   if (check_capability_error((*jvmti)->GetGarbageTraces(jvmti, NULL),
 546                              "Get Garbage Traces")) {
 547     return FALSE;
 548   }
 549 
 550   if (check_capability_error((*jvmti)->GetFrequentGarbageTraces(jvmti, NULL),
 551                              "Get Frequent Garbage Traces")) {
 552     return FALSE;
 553   }
 554 
 555   if (check_capability_error((*jvmti)->GetLiveTraces(jvmti, NULL),
 556                              "Get Live Traces")) {
 557     return FALSE;
 558   }
 559   return TRUE;
 560 }
 561 
 562 JNIEXPORT jboolean JNICALL
 563 Java_MyPackage_HeapMonitor_statsHaveExpectedNumberSamples(JNIEnv *env,
 564                                                           jclass cls,
 565                                                           int expected,
 566                                                           int percent_error) {
 567   jvmtiHeapSamplingStats stats;
 568   check_error((*jvmti)->GetHeapSamplingStats(jvmti, &stats),
 569               "Heap Sampling Statistics");
 570 
 571   fprintf(stderr, "Sample data count %ld, rate %ld, rate count %ld\n",
 572           stats.sample_count, stats.sample_rate_accumulation, stats.sample_rate_count);
 573   double diff_ratio = (stats.sample_count - expected);
 574   diff_ratio = (diff_ratio < 0) ? -diff_ratio : diff_ratio;
 575   diff_ratio /= expected;
 576 
 577   return diff_ratio * 100 < percent_error;
 578 }
 579 
 580 JNIEXPORT jdouble JNICALL
 581 Java_MyPackage_HeapMonitorStatRateTest_getAverageRate(JNIEnv *env, jclass cls) {
 582   jvmtiHeapSamplingStats stats;
 583   check_error((*jvmti)->GetHeapSamplingStats(jvmti, &stats),
 584               "Heap Sampling Statistics");
 585   return ((double) stats.sample_rate_accumulation) / stats.sample_rate_count;
 586 }
 587 
 588 JNIEXPORT jdouble JNICALL
 589 Java_MyPackage_HeapMonitorStackDepthTest_getAverageStackDepth(JNIEnv *env,
 590                                                               jclass cls) {
 591   jvmtiStackTraces traces;
 592   jvmtiError error = (*jvmti)->GetLiveTraces(jvmti, &traces);;


< prev index next >