8222720: Provide extended VMWare/vSphere virtualization related info in the hs_error file on linux/windows x86_64

David Holmes david.holmes at oracle.com
Thu May 9 05:25:25 UTC 2019


Hi Matthias,

On 29/04/2019 9:02 pm, Baesken, Matthias wrote:
> Hello,
>     please review the following enhancement to the VMWare/vSphere virtualization related info in the hs_error file on linux/windows x86_64 .
> 
> In case the guest library from VMWare SDK 6.0 (or higher) is present (libvmGuestLib)  or the open-vm-tools guest library is present
> (libguestlib), we add the host and  initial and current  resource related metrics information to the hs_err file .
> The resource info  (current and first) is taken twice to see diffs over the VM runtime.
> 
> Example output for host and resource information :
> host:
> ------
> host.cpu.processorMHz = 2194
> host.cpu.coresPerPkg = 10
> host.cpu.packages = 4
> host.cpu.cores = 40
> host.cpu.threads = 80
> host.dmi.product = UCSC-C460-M4
> host.dmi.vendor = Cisco Systems Inc
> 
> resource:
> ----------
> vm.cpu.reserved = 0
> vm.cpu.limit = -1
> vm.cpu.used = 2290006442390
> vm.cpu.contention.cpu = 1436489771
> vm.cpu.contention.mem = 0
> vm.numa.local = 16775168
> vm.numa.remote = 0
> guest.mem.reserved = 0
> guest.mem.limit = 3221225456
> guest.mem.mapped = 16775168
> guest.mem.consumed = 16699172
> guest.mem.swapped = 0
> guest.mem.ballooned = 0
> guest.mem.swapIn = 0
> guest.mem.swapOut = 0
> ovhd.mem.swapped = 0
> ovhd.mem.swapIn = 0
> ovhd.mem.swapOut = 0
> 
> 
> (details on the metrics meaning can be found in the VMWare SDK programming guide
> 
> https://code.vmware.com/docs/6629/guest-and-ha-application-monitoring-sdk-programming-guide/
> 
> see the subsections of "Tools for Extended Guest Statistics" )
> 
> 
> bug/webrev :
> 
> https://bugs.openjdk.java.net/browse/JDK-8222720
> 
> http://cr.openjdk.java.net/~mbaesken/webrevs/8222720.1/

You've defined "shared" files but this is only usable on Windows and 
Linux (and then x86 only). I think this would be a lot cleaner if 
vmwareSupport.cpp** was written using os::dl_lookup as Robbin suggested 
so that there is no platform specific code at all in there and so truly 
shared. You also don't need the ifdefs in vm_version_x86.cpp - after-all 
if you've already detected running under VMWare then the calls to 
initialize() and print_virtualization_info() should be unconditional 
(and just no-ops if the underlying support was not there).

BTW initialize() doesn't need to return a boolean as it's not being checked.

The copyright headers in the new files should only have the year 2019 - 
also I would have expected you to use a SAP copyright.

**Not sure about the validity of using "vmware" in the name of files or 
classes either due to its trademark status.

Thanks,
David
-----



> 
> Thanks, Matthias
> 


More information about the hotspot-dev mailing list