java.lang.Object
com.ibm.j9ddr.view.dtfj.image.J9DDRImage
- All Implemented Interfaces:
Image,ManagedImage
Image implementation that wraps a J9DDR ICore
-
Constructor Summary
ConstructorsConstructorDescriptionJ9DDRImage(ICore coreFile) J9DDRImage(URI source, ICore coreFile, ImageInputStream meta) -
Method Summary
Modifier and TypeMethodDescriptionvoidclose()Close this image and any associated resources.Get the set of address spaces within the image - typically one but may be more on some systems such as Z/OS.getCore()longReturn the dump creation time.longReturn the value of the system nanotime (high resolution timer) at dump creation time.Get the host name of the system where the image was running.longGet the amount of physical memory (in bytes) installed in the system on which the image was running.Iterator<?> The set of IP addresses (as InetAddresses) which the system running the image possessed.intGet the number of CPUs running in the system on which the image was running.Get the precise model of the CPU.Get the family name for the processor on which the image was running.Return OS properties (as obtained by the JVM, no support in the core readers)A unique identifier for the source of this imageGet the detailed name of the operating system.Get the family name for the operating system.booleanisClosed()voidsetImageSource(ManagedImageSource source) Methods declared in class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitMethods declared in interface com.ibm.dtfj.image.Image
isTruncated
-
Constructor Details
-
J9DDRImage
-
J9DDRImage
-
-
Method Details
-
getCore
-
getSource
Description copied from interface:ImageA unique identifier for the source of this image -
getAddressSpaces
Description copied from interface:ImageGet the set of address spaces within the image - typically one but may be more on some systems such as Z/OS.- Specified by:
getAddressSpacesin interfaceImage- Returns:
- an Iterator which iterates over all of the address spaces described by this Image
- See Also:
-
getCreationTime
Return the dump creation time. See JTC-JAT 92709, we now obtain this from a field in the J9RAS structure that is set by the JVM dump agent when the dump is triggered. If that is not available, we revert to obtaining the creation time via the core readers from a timestamp that the OS puts in the dump. This is supported in system dumps on Windows and zOS, but not Linux or AIX.- Specified by:
getCreationTimein interfaceImage- Returns:
- long - dump creation time (milliseconds since 1970)
- Throws:
DataUnavailable
-
getHostName
Description copied from interface:ImageGet the host name of the system where the image was running.- Specified by:
getHostNamein interfaceImage- Returns:
- The host name of the system where the image was running. This string will be non-null and non-empty
- Throws:
DataUnavailable- If the image did not provide this information (would happen if the system did not know its host name or if the image predated this feature).CorruptDataException
-
getIPAddresses
Description copied from interface:ImageThe set of IP addresses (as InetAddresses) which the system running the image possessed.- Specified by:
getIPAddressesin interfaceImage- Returns:
- An Iterator over the IP addresses (as InetAddresses) which the system running the image possessed. The iterator will be non-null (but can be empty if the host is known to have no IP addresses).
- Throws:
DataUnavailable- If the image did not provide this information (would happen if the system failed to look them up or if the image pre-dated this feature).- See Also:
-
getInstalledMemory
Description copied from interface:ImageGet the amount of physical memory (in bytes) installed in the system on which the image was running.- Specified by:
getInstalledMemoryin interfaceImage- Returns:
- the amount of physical memory installed in the system on which the image was running. The return value is specified in bytes.
- Throws:
DataUnavailable- if the information cannot be provided
-
getProcessorCount
Description copied from interface:ImageGet the number of CPUs running in the system on which the image was running.- Specified by:
getProcessorCountin interfaceImage- Returns:
- the number of CPUs running in the system on which the image was running
- Throws:
DataUnavailable- if the information cannot be provided
-
getProcessorSubType
Description copied from interface:ImageGet the precise model of the CPU.- Specified by:
getProcessorSubTypein interfaceImage- Returns:
- the precise model of the CPU (note that this can be an empty string but not null).
e.g. getProcessorType() will returnx86
where getProcessorSubType() may returnPentium IV step 4
Note that this value is platform and implementation dependent.
- Throws:
DataUnavailableCorruptDataException
-
getProcessorType
Description copied from interface:ImageGet the family name for the processor on which the image was running.- Specified by:
getProcessorTypein interfaceImage- Returns:
- the family name for the processor on which the image was running. This corresponds to the value you would find in the "os.arch" System property.
- Throws:
DataUnavailable- if this data cannot be inferred from this core typeCorruptDataException- if expected data cannot be read from the core
-
getSystemSubType
Description copied from interface:ImageGet the detailed name of the operating system.- Specified by:
getSystemSubTypein interfaceImage- Returns:
- the detailed name of the operating system, or an empty string if this information is not available (null will never be returned). This should be the same value that would be returned for the "os.version" system property
- Throws:
DataUnavailableCorruptDataException
-
getSystemType
Description copied from interface:ImageGet the family name for the operating system.- Specified by:
getSystemTypein interfaceImage- Returns:
- the family name for the operating system. This should be the same value that would be returned for the "os.name" system property
- Throws:
DataUnavailable- if this data cannot be inferred from this core typeCorruptDataException- if expected data cannot be read from the core
-
close
public void close()Description copied from interface:ImageClose this image and any associated resources.
Some kinds of Image require the generation of temporary resources, for example temporary files created when reading core files and libraries from .zip archives. Ordinarily, these resources are deleted at JVM shutdown, but DTFJ applications may want to free them earlier. This method should only be called when the Image is no longer needed. After this method has been called, any objects associated with the image will be in an invalid state.
-
getProperties
Return OS properties (as obtained by the JVM, no support in the core readers)- Specified by:
getPropertiesin interfaceImage- Returns:
- Properties (may be empty)
-
getImageSource
- Specified by:
getImageSourcein interfaceManagedImage
-
setImageSource
- Specified by:
setImageSourcein interfaceManagedImage
-
isClosed
public boolean isClosed() -
getCreationTimeNanos
Return the value of the system nanotime (high resolution timer) at dump creation time. See JTC-JAT 92709, we obtain this from a field in the J9RAS structure that is set by the JVM dump agent when the dump is triggered.- Specified by:
getCreationTimeNanosin interfaceImage- Returns:
- long - system nanotime
- Throws:
DataUnavailable- if the image creation time is not availableCorruptDataException- if the image creation time is corrupted
-