< prev index next >

src/share/vm/jfr/periodic/jfrOSInterface.cpp

Print this page
rev 9055 : 8223438: add VirtualizationInformation JFR event
Reviewed-by: clanger, egahlin


 198 int JfrOSInterface::cpu_load(int which_logical_cpu, double* cpu_load) {
 199   return instance()._impl->cpu_load(which_logical_cpu, cpu_load);
 200 }
 201 
 202 int JfrOSInterface::context_switch_rate(double* rate) {
 203   return instance()._impl->context_switch_rate(rate);
 204 }
 205 
 206 int JfrOSInterface::cpu_load_total_process(double* cpu_load) {
 207   return instance()._impl->cpu_load_total_process(cpu_load);
 208 }
 209 
 210 int JfrOSInterface::cpu_loads_process(double* jvm_user_load, double* jvm_kernel_load, double* system_total_load){
 211   return instance()._impl->cpu_loads_process(jvm_user_load, jvm_kernel_load, system_total_load);
 212 }
 213 
 214 int JfrOSInterface::os_version(char** os_version) {
 215   return instance()._impl->os_version(os_version);
 216 }
 217 





















 218 int JfrOSInterface::generate_initial_environment_variable_events() {
 219   if (environ == NULL) {
 220     return OS_ERR;
 221   }
 222 
 223   if (EventInitialEnvironmentVariable::is_enabled()) {
 224     // One time stamp for all events, so they can be grouped together
 225     JfrTicks time_stamp = JfrTicks::now();
 226     for (char** p = environ; *p != NULL; p++) {
 227       char* variable = *p;
 228       char* equal_sign = strchr(variable, '=');
 229       if (equal_sign != NULL) {
 230         // Extract key/value
 231         ResourceMark rm;
 232         ptrdiff_t key_length = equal_sign - variable;
 233         char* key = NEW_RESOURCE_ARRAY(char, key_length + 1);
 234         char* value = equal_sign + 1;
 235         strncpy(key, variable, key_length);
 236         key[key_length] = '\0';
 237         EventInitialEnvironmentVariable event(UNTIMED);


 198 int JfrOSInterface::cpu_load(int which_logical_cpu, double* cpu_load) {
 199   return instance()._impl->cpu_load(which_logical_cpu, cpu_load);
 200 }
 201 
 202 int JfrOSInterface::context_switch_rate(double* rate) {
 203   return instance()._impl->context_switch_rate(rate);
 204 }
 205 
 206 int JfrOSInterface::cpu_load_total_process(double* cpu_load) {
 207   return instance()._impl->cpu_load_total_process(cpu_load);
 208 }
 209 
 210 int JfrOSInterface::cpu_loads_process(double* jvm_user_load, double* jvm_kernel_load, double* system_total_load){
 211   return instance()._impl->cpu_loads_process(jvm_user_load, jvm_kernel_load, system_total_load);
 212 }
 213 
 214 int JfrOSInterface::os_version(char** os_version) {
 215   return instance()._impl->os_version(os_version);
 216 }
 217 
 218 const char* JfrOSInterface::virtualization_name() {
 219   VirtualizationType vrt = VM_Version::get_detected_virtualization();
 220   if (vrt == XenHVM) {
 221     return "Xen hardware-assisted virtualization";
 222   } else if (vrt == KVM) {
 223     return "KVM virtualization";
 224   } else if (vrt == VMWare) {
 225     return "VMWare virtualization";
 226   } else if (vrt == HyperV) {
 227     return "HyperV virtualization";
 228   } else if (vrt == PowerVM) {
 229     return "PowerVM virtualization";
 230   } else if (vrt == PowerKVM) {
 231     return "Power KVM virtualization";
 232   } else if (vrt == PowerFullPartitionMode) {
 233     return "Power full partition";
 234   }
 235 
 236   return "No virtualization detected";
 237 }
 238 
 239 int JfrOSInterface::generate_initial_environment_variable_events() {
 240   if (environ == NULL) {
 241     return OS_ERR;
 242   }
 243 
 244   if (EventInitialEnvironmentVariable::is_enabled()) {
 245     // One time stamp for all events, so they can be grouped together
 246     JfrTicks time_stamp = JfrTicks::now();
 247     for (char** p = environ; *p != NULL; p++) {
 248       char* variable = *p;
 249       char* equal_sign = strchr(variable, '=');
 250       if (equal_sign != NULL) {
 251         // Extract key/value
 252         ResourceMark rm;
 253         ptrdiff_t key_length = equal_sign - variable;
 254         char* key = NEW_RESOURCE_ARRAY(char, key_length + 1);
 255         char* value = equal_sign + 1;
 256         strncpy(key, variable, key_length);
 257         key[key_length] = '\0';
 258         EventInitialEnvironmentVariable event(UNTIMED);
< prev index next >