Class SystemInfoMonitorEntry

  • All Implemented Interfaces:
    java.io.Serializable

    @NotMutable
    @ThreadSafety(level=COMPLETELY_THREADSAFE)
    public final class SystemInfoMonitorEntry
    extends MonitorEntry
    This class defines a monitor entry that provides information about the system and JVM on which the Directory Server is running.
    NOTE: This class, and other classes within the com.unboundid.ldap.sdk.unboundidds package structure, are only supported for use against Ping Identity, UnboundID, and Nokia/Alcatel-Lucent 8661 server products. These classes provide support for proprietary functionality or for external specifications that are not considered stable or mature enough to be guaranteed to work in an interoperable way with other types of LDAP servers.

    The information that may be available includes:
    • The name of the operating system on which the server is running.
    • The number of CPUs available to the JVM.
    • The Java classpath in use by the server.
    • The amount of memory currently used by the JVM.
    • The maximum amount of memory that the JVM will be allowed to use.
    • The amount of memory held by the JVM that is marked as "free" and can be used to allocate new objects.
    • The hostname for the underlying system.
    • The location in which the server is installed on the underlying system.
    • The current working directory for the server process.
    • The path to the Java installation being used to run the server.
    • The vendor that provides the Java installation being used to run the server.
    • The Java version string for the Java installation being used to run the server.
    • The vendor that provides the JVM being used by the Java installation being used to run the server.
    • The JVM version string for the Java installation being used to run the server.
    • The JVM architecture data model (i.e., whether it is a 32-bit or 64-bit JVM).
    • The arguments provided to the JVM when running the server.
    The server should present at most one system info monitor entry. It can be retrieved using the MonitorManager.getSystemInfoMonitorEntry(com.unboundid.ldap.sdk.LDAPConnection) method. This entry provides specific methods for accessing this system information (e.g., the getOperatingSystem() method can be used to retrieve the name of the operating system). Alternately, this information may be accessed using the generic API. See the MonitorManager class documentation for an example that demonstrates the use of the generic API for accessing monitor data.
    See Also:
    Serialized Form
    • Constructor Detail

      • SystemInfoMonitorEntry

        public SystemInfoMonitorEntry​(@NotNull
                                      Entry entry)
        Creates a new system info monitor entry from the provided entry.
        Parameters:
        entry - The entry to be parsed as a system info monitor entry. It must not be null.
    • Method Detail

      • getAvailableCPUs

        @Nullable
        public java.lang.Long getAvailableCPUs()
        Retrieves the number of CPUs available to the JVM.
        Returns:
        The number of CPUs available to the JVM, or null if it was not included in the monitor entry.
      • getClassPath

        @Nullable
        public java.lang.String getClassPath()
        Retrieves the server's Java classpath.
        Returns:
        The server's Java classpath, or null if it was not included in the monitor entry.
      • getEnvironmentVariables

        @NotNull
        public java.util.Map<java.lang.String,​java.lang.String> getEnvironmentVariables()
        Retrieves the environment variables available to the server process, mapped from variable name to the corresponding value.
        Returns:
        The environment variables available to the server process, or an empty map if it was not included in the monitor entry.
      • getFreeMemory

        @Nullable
        public java.lang.Long getFreeMemory()
        Retrieves the amount of memory in bytes held by the JVM that is currently marked as free.
        Returns:
        The amount of memory in bytes held by the JVM that is currently marked as free, or null if it was not included in the monitor entry.
      • getHostname

        @Nullable
        public java.lang.String getHostname()
        Retrieves the server's hostname.
        Returns:
        The server's hostname, or null if it was not included in the monitor entry.
      • getInstanceRoot

        @Nullable
        public java.lang.String getInstanceRoot()
        Retrieves the path to the directory in which the Directory Server is installed.
        Returns:
        The path to the directory in which the Directory Server is installed, or null if it was not included in the monitor entry.
      • getJavaHome

        @Nullable
        public java.lang.String getJavaHome()
        Retrieves the path to the Java installation used by the server.
        Returns:
        The path to the Java installation used by the server, or null if it was not included in the monitor entry.
      • getJavaVendor

        @Nullable
        public java.lang.String getJavaVendor()
        Retrieves the server's Java vendor string.
        Returns:
        The server's Java vendor string, or null if it was not included in the monitor entry.
      • getJavaVersion

        @Nullable
        public java.lang.String getJavaVersion()
        Retrieves the server's Java version string.
        Returns:
        The server's Java version string, or null if it was not included in the monitor entry.
      • getJVMArchitectureDataModel

        @Nullable
        public java.lang.String getJVMArchitectureDataModel()
        Retrieves the server's JVM architecture data mode, which should indicate whether the server is running a 32-bit or 64-bit JVM.
        Returns:
        The server's JVM architecture data model, or null if it was not included in the monitor entry.
      • getJVMArguments

        @Nullable
        public java.lang.String getJVMArguments()
        Retrieves a list of the arguments provided to the JVM when the server was started.
        Returns:
        A list of the arguments provided to the JVM when the server was started, or null if it was not included in the monitor entry.
      • getJVMPID

        @Nullable
        public java.lang.Long getJVMPID()
        Retrieves the process ID of the JVM in which the server is running.
        Returns:
        The process ID of the JVM in which the server is running, or null if it was not included in the monitor entry.
      • getJVMVendor

        @Nullable
        public java.lang.String getJVMVendor()
        Retrieves the server's JVM vendor string.
        Returns:
        The server's JVM vendor string, or null if it was not included in the monitor entry.
      • getJVMVersion

        @Nullable
        public java.lang.String getJVMVersion()
        Retrieves the server's JVM version string.
        Returns:
        The server's JVM version string, or null if it was not included in the monitor entry.
      • getMaxMemory

        @Nullable
        public java.lang.Long getMaxMemory()
        Retrieves the maximum amount of memory in bytes that the JVM will be allowed to use.
        Returns:
        The maximum amount of memory in bytes that the JVM will be allowed to use, or null if it was not included in the monitor entry.
      • getOperatingSystem

        @Nullable
        public java.lang.String getOperatingSystem()
        Retrieves information about the operating system on which the server is running.
        Returns:
        Information about the operating system on which the server is running, or null if it was not included in the monitor entry.
      • getSSLContextProtocol

        @Nullable
        public java.lang.String getSSLContextProtocol()
        Retrieves the name of the default SSL context protocol that has been selected by the server.
        Returns:
        The name of the default SSL context protocol that has been selected by the server.
      • getSystemProperties

        @NotNull
        public java.util.Map<java.lang.String,​java.lang.String> getSystemProperties()
        Retrieves the system properties defined in the server JVM, mapped from property name to the corresponding value.
        Returns:
        The system properties defined in the server JVM, or an empty map if it was not included in the monitor entry.
      • getUsedMemory

        @Nullable
        public java.lang.Long getUsedMemory()
        Retrieves the amount of memory in bytes currently held by the JVM used to run the server.
        Returns:
        The amount of memory in bytes currently held by the JVM used to run the server, or null if it was not included in the monitor entry
      • getUserName

        @Nullable
        public java.lang.String getUserName()
        Retrieves the name of the user as whom the server is running.
        Returns:
        The name of the user as whom the server is running, or null if it was not included in the monitor entry.
      • getWorkingDirectory

        @Nullable
        public java.lang.String getWorkingDirectory()
        Retrieves the path to the server's current working directory. This is generally the path to the directory from which the server was started.
        Returns:
        The path to the server's current working directory, or null if it was not included in the monitor entry.
      • getMonitorAttributes

        @NotNull
        public java.util.Map<java.lang.String,​MonitorAttributegetMonitorAttributes()
        Retrieves the set of parsed monitor attributes for this monitor entry, mapped from a unique identifier (in all lowercase characters) to the corresponding monitor attribute.
        Overrides:
        getMonitorAttributes in class MonitorEntry
        Returns:
        The set of parsed monitor attributes for this monitor entry.