Class G2DiagnosticJNI

    • Constructor Detail

      • G2DiagnosticJNI

        public G2DiagnosticJNI()
    • Method Detail

      • initV2

        public int initV2​(String moduleName,
                          String iniParams,
                          boolean verboseLogging)
        Initializes the G2 Diagnostic object with the specified module name, init parameters and flag indicating verbose logging. If the G2CONFIGFILE init parameter is absent then the default configuration from the repository is used.
        Specified by:
        initV2 in interface G2Diagnostic
        Parameters:
        moduleName - A short name given to this instance of the diagnostic object.
        iniParams - A JSON string containing configuration parameters.
        verboseLogging - Enable diagnostic logging which will print a massive amount of information to stdout.
        Returns:
        Zero (0) on success, non-zero on failure.
      • initWithConfigIDV2

        public int initWithConfigIDV2​(String moduleName,
                                      String iniParams,
                                      long initConfigID,
                                      boolean verboseLogging)
        Initializes the G2 Diagnostic object with the module name, initialization parameters, verbose logging flag and a specific configuration ID identifying the configuration to use.
        Specified by:
        initWithConfigIDV2 in interface G2Diagnostic
        Parameters:
        moduleName - The module name with which to initialize.
        iniParams - The JSON initialization parameters.
        initConfigID - The specific configuration ID to initialize with.
        verboseLogging - Whether or not to initialize with verbose logging.
        Returns:
        Zero (0) on success and non-zero on failure.
      • reinitV2

        public int reinitV2​(long initConfigID)
        Reinitializes with the specified configuration ID.
        Specified by:
        reinitV2 in interface G2Diagnostic
        Parameters:
        initConfigID - The configuration ID with which to reinitialize.
        Returns:
        Zero (0) on success and non-zero on failure.
      • destroy

        public int destroy()
        Uninitializes the G2 diagnostic object.
        Specified by:
        destroy in interface G2Diagnostic
        Returns:
        Zero (0) on success and non-zero on failure.
      • getTotalSystemMemory

        public long getTotalSystemMemory()
        Returns the total number of bytes of RAM on the system
        Specified by:
        getTotalSystemMemory in interface G2Diagnostic
        Returns:
        The number of bytes on success and negative one (-1) on failure.
      • getAvailableMemory

        public long getAvailableMemory()
        Returns the available number of bytes of RAM on the system
        Specified by:
        getAvailableMemory in interface G2Diagnostic
        Returns:
        The number of bytes on success and negative one (-1) on failure.
      • getPhysicalCores

        public int getPhysicalCores()
        Returns the number of physical cores on the system.
        Specified by:
        getPhysicalCores in interface G2Diagnostic
        Returns:
        The number of cores on success and negative one (-1) on failure.
      • getLogicalCores

        public int getLogicalCores()
        Returns the number of logical cores on the system. This may be different that physical due to hyper-threading.
        Specified by:
        getLogicalCores in interface G2Diagnostic
        Returns:
        The number of cores on success and negative one (-1) on failure.
      • checkDBPerf

        public int checkDBPerf​(int secondsToRun,
                               StringBuffer response)
        Runs non-destruction DB performance tests and writes detail of the result as JSON in the specified StringBuffer.
        Specified by:
        checkDBPerf in interface G2Diagnostic
        Parameters:
        secondsToRun - How long to run the database performance test.
        response - The StringBuffer in which to write the JSON text that details the result of the performance test.
        Returns:
        Zero (0) on success and non-zero on failure.
      • getDBInfo

        public int getDBInfo​(StringBuffer response)
        Gets information about database connections and generates a JSON document describing the result in the following format (sans pretty-printing):
           {
             "Hybrid Mode": false,
             "Database Details": [
               {
                 "Name": "SENZDB",
                 "Type": "POSTGRES"
               }
             ]
           }
         
        Specified by:
        getDBInfo in interface G2Diagnostic
        Parameters:
        response - The StringBuffer in which to write Json document describing the result.
        Returns:
        Zero (0) on success and non-zero on failure.
      • findEntitiesByFeatureIDs

        public int findEntitiesByFeatureIDs​(String features,
                                            StringBuffer response)
        This methods asks g2 for any entities having any of the lib feat id specified in the "features" doc. The "features" also contains an entity id that specifies the entity to be ignored in the returned values. The response is written as a JSON document to the specified StringBuffer.

        The format of the "features" document is as follows:

           {
             "ENTITY_ID": <entity_id>,
             "LIB_FEAT_IDS": [ <id1>, <id2>, ... <idn> ]
           }
         

        The format of the response document is as follows (sans pretty-printing):

           [
             {
               "LIB_FEAT_ID": <lib_feat_id>,
               "USAGE_TYPE": "<usage_type>",
               "RES_ENT_ID": <entity_id>
             },
             ...
           ]
         
        Specified by:
        findEntitiesByFeatureIDs in interface G2Diagnostic
        Parameters:
        features - Json document describing the desired features.
        response - The StringBuffer to write the JSON response to.
        Returns:
        Zero (0) on success and non-zero on failure.
      • getDataSourceCounts

        public int getDataSourceCounts​(StringBuffer response)
        Experimental/internal method for obtaining data source counts.
        Specified by:
        getDataSourceCounts in interface G2Diagnostic
        Parameters:
        response - The StringBuffer to write the JSON response document to.
        Returns:
        Zero (0) on success and non-zero on failure.
      • getMappingStatistics

        public int getMappingStatistics​(boolean includeInternalFeatures,
                                        StringBuffer response)
        Experimental/internal method for obtaining mapping statistics.
        Specified by:
        getMappingStatistics in interface G2Diagnostic
        Parameters:
        includeInternalFeatures - true if internal features should be included and false if they should be excluded.
        response - The StringBuffer to write the JSON response document to.
        Returns:
        Zero (0) on success and non-zero on failure.
      • getGenericFeatures

        public int getGenericFeatures​(String featureType,
                                      long maximumEstimatedCount,
                                      StringBuffer response)
        Experimental/internal method for obtaining generic features.
        Specified by:
        getGenericFeatures in interface G2Diagnostic
        Parameters:
        featureType - The feature type code.
        maximumEstimatedCount - The maximum estimated count.
        response - The StringBuffer to write the JSON response document to.
        Returns:
        Zero (0) on success and non-zero on failure.
      • getEntitySizeBreakdown

        public int getEntitySizeBreakdown​(long minimumEntitySize,
                                          boolean includeInternalFeatures,
                                          StringBuffer response)
        Experimental/internal method for obtaining entity size breakdown.
        Specified by:
        getEntitySizeBreakdown in interface G2Diagnostic
        Parameters:
        minimumEntitySize - The minimum entity size.
        includeInternalFeatures - true if internal features should be included and false if they should be excluded.
        response - The StringBuffer to write the JSON response document to.
        Returns:
        Zero (0) on success and non-zero on failure.
      • getEntityDetails

        public int getEntityDetails​(long entityID,
                                    boolean includeInternalFeatures,
                                    StringBuffer response)
        Experimental/internal method for obtaining diagnostic entity details.
        Specified by:
        getEntityDetails in interface G2Diagnostic
        Parameters:
        entityID - The entity ID for the entity.
        includeInternalFeatures - true if internal features should be included and false if they should be excluded.
        response - The StringBuffer to write the JSON response document to.
        Returns:
        Zero (0) on success and non-zero on failure.
      • getResolutionStatistics

        public int getResolutionStatistics​(StringBuffer response)
        Experimental/internal method for obtaining resolution statistics.
        Specified by:
        getResolutionStatistics in interface G2Diagnostic
        Parameters:
        response - The StringBuffer to write the JSON response document to.
        Returns:
        Zero (0) on success and non-zero on failure.
      • getRelationshipDetails

        public int getRelationshipDetails​(long relationshipID,
                                          boolean includeInternalFeatures,
                                          StringBuffer response)
        Experimental/internal method for obtaining diagnostic relationship details.
        Specified by:
        getRelationshipDetails in interface G2Diagnostic
        Parameters:
        relationshipID - The relationship ID identifying the relationship.
        includeInternalFeatures - true if internal features should be included and false if they should be excluded.
        response - The StringBuffer to write the JSON response document to.
        Returns:
        Zero (0) on success and non-zero on failure.
      • getEntityResume

        public int getEntityResume​(long entityID,
                                   StringBuffer response)
        Experimental/internal method for obtaining diagnostic entity resume.
        Specified by:
        getEntityResume in interface G2Diagnostic
        Parameters:
        entityID - The entity ID.
        response - The StringBuffer to write the JSON result document to.
        Returns:
        Zero (0) on success and non-zero on failure.
      • getFeature

        public int getFeature​(long libFeatID,
                              StringBuffer response)
        Experimental/internal method for obtaining diagnostic feature information.
        Specified by:
        getFeature in interface G2Diagnostic
        Parameters:
        libFeatID - The LIB_FEAT_ID identifying the feature.
        response - The StringBuffer to write the JSON result document to.
        Returns:
        Zero (0) on success and non-zero on failure.
      • getEntityListBySize

        public long getEntityListBySize​(long entitySize)
        Experimental/internal method for obtaining diagnostic information on sized entities.
        Specified by:
        getEntityListBySize in interface G2Diagnostic
        Parameters:
        entitySize - The entity size.
        Returns:
        The handle for the result set.
      • fetchNextEntityBySize

        public String fetchNextEntityBySize​(long entityListBySizeHandle)
        Experimental/internal method for obtaining the next sized entity result with the specified handle obtained from G2Diagnostic.getEntityListBySize(long).
        Specified by:
        fetchNextEntityBySize in interface G2Diagnostic
        Parameters:
        entityListBySizeHandle - The handle for the result set.
        Returns:
        The next sized entity result.
      • closeEntityListBySize

        public void closeEntityListBySize​(long entityListBySizeHandle)
        Experimental/internal method to close the result set associated with the specified handle obtained from G2Diagnostic.getEntityListBySize(long).
        Specified by:
        closeEntityListBySize in interface G2Diagnostic
        Parameters:
        entityListBySizeHandle - The handle for the result set.
      • getEntityListBySizeV2

        public int getEntityListBySizeV2​(long entitySize,
                                         Result<Long> exportHandle)
        Experimental/internal method for obtaining diagnostic information on sized entities.
        Specified by:
        getEntityListBySizeV2 in interface G2Diagnostic
        Parameters:
        entitySize - The entity size.
        exportHandle - The Result object on which the result handle will be set.
        Returns:
        Zero (0) on success and non-zero on failure.
      • fetchNextEntityBySizeV2

        public int fetchNextEntityBySizeV2​(long entityListBySizeHandle,
                                           StringBuffer response)
        Experimental/internal method for obtaining the next sized entity result with the specified handle obtained from G2Diagnostic.getEntityListBySizeV2(long,Result).
        Specified by:
        fetchNextEntityBySizeV2 in interface G2Diagnostic
        Parameters:
        entityListBySizeHandle - The handle for the result set.
        response - The StringBuffer to write the JSON result document to.
        Returns:
        Zero (0) on success and non-zero on failure.
      • closeEntityListBySizeV2

        public int closeEntityListBySizeV2​(long entityListBySizeHandle)
        Experimental/internal method to close the result set associated with the specified handle obtained from G2Diagnostic.getEntityListBySizeV2(long,Result).
        Specified by:
        closeEntityListBySizeV2 in interface G2Diagnostic
        Parameters:
        entityListBySizeHandle - The handle for the result set.
        Returns:
        Zero (0) on success and non-zero on failure.
      • getLastException

        public String getLastException()
        Returns a string about the last error the system received. This is most commonly called after an API function returns an error code (non-zero or NULL)
        Specified by:
        getLastException in interface G2Fallible
        Returns:
        An error message
      • getLastExceptionCode

        public int getLastExceptionCode()
        Returns the exception code of the last error the system received. This is most commonly called after an API function returns an error code (non-zero or NULL)
        Specified by:
        getLastExceptionCode in interface G2Fallible
        Returns:
        An error code
      • clearLastException

        public void clearLastException()
        Clears the information about the last error the system received.
        Specified by:
        clearLastException in interface G2Fallible