NAME

grpc_session_info_get_np - Get session information.

SYNOPSIS

grpc_error_t grpc_session_info_get_np(grpc_sessionid_t session_id, grpc_session_info_t_np **info, int *status)

ARGUMENTS

grpc_sessionid_t session_id
The session ID
grpc_session_info_t_np **info
The session information
int *status
The session status

DESCRIPTION

The grpc_session_info_get_np() function returns information on the specified session.
If NULL is specified in info, only the session status is returned as the return value.
The storage of session information was allocated in this function. Release the session information by grpc_session_info_release_np() when it becomes unnecessary.
grpc_session_info_t_np is defined in $NG_DIR/include/grpc.h.
The time of compression is included in members of grpc_session_info_t_np listed following.

    /**
     * Session Infomation
     */
    /* Measured by the remote method */
    typedef struct grpc_exec_info_executable_s_np {
        int callbackNtimesCalled;

        /* The time concerning argument transmission */
        struct timeval transferArgumentToRemoteRealTime;
        struct timeval transferArgumentToRemoteCpuTime;

        /* The time concerning transfer file from client to remote */
        struct timeval transferFileToRemoteRealTime;
        struct timeval transferFileToRemoteCpuTime;

        /* The time of Calculation time of executable */
        struct timeval calculationRealTime;
        struct timeval calculationCpuTime;

        /* The time concerning transmitting a result */
        struct timeval transferResultToClientRealTime;
        struct timeval transferResultToClientCpuTime;

        /* The time concerning transfer file from client to remote */
        struct timeval transferFileToClientRealTime;
        struct timeval transferFileToClientCpuTime;

        /* The time concerning argument transmission of callback */
        struct timeval callbackTransferArgumentToClientRealTime;
        struct timeval callbackTransferArgumentToClientCpuTime;

        /* The time concerning callback */
        struct timeval callbackCalculationRealTime;
        struct timeval callbackCalculationCpuTime;

        /* The time concerning transmitting a result of callback */
        struct timeval callbackTransferResultToRemoteRealTime;
        struct timeval callbackTransferResultToRemoteCpuTime;
    } grpc_exec_info_executable_t_np;

    /* Measured by the client */
    typedef struct grpc_exec_info_client_s_np {
        int callbackNtimesCalled;

        /* The time concerning request remote machine information */
        struct timeval remoteMachineInfoRequestRealTime;
        struct timeval remoteMachineInfoRequestCpuTime;

        /* The time concerning request remote class information */
        struct timeval remoteClassInfoRequestRealTime;
        struct timeval remoteClassInfoRequestCpuTime;

        /* The time concerning invoke GRAM */
        struct timeval gramInvokeRealTime;
        struct timeval gramInvokeCpuTime;

        /* The time concerning argument transmission */
        struct timeval transferArgumentToRemoteRealTime;
        struct timeval transferArgumentToRemoteCpuTime;

        /* The Calculation time of client */
        struct timeval calculationRealTime;
        struct timeval calculationCpuTime;

        /* The time concerning transmitting a result */
        struct timeval transferResultToClientRealTime;
        struct timeval transferResultToClientCpuTime;

        /* The time concerning argument transmission of callback */
        struct timeval callbackTransferArgumentToClientRealTime;
        struct timeval callbackTransferArgumentToClientCpuTime;

        /* The time concerning calculation of callback */
        struct timeval callbackCalculationRealTime;
        struct timeval callbackCalculationCpuTime;

        /* The time concerning transmitting a result of callback */
        struct timeval callbackTransferResultToRemoteRealTime;
        struct timeval callbackTransferResultToRemoteCpuTime;
    
    } grpc_exec_info_client_t_np;

    /* Compression Information */
    typedef struct grpc_compression_info_s_np {
        int         valid;  /* data below valid? 0:invalid, 1:valid */
    
        /* Number of bytes of data before compression */
        size_t      originalNbytes;
    
        /* Number of bytes of data after compression */
        size_t      compressionNbytes;
    
        /* Lapsed time at the time of compression */
        struct timeval compressionRealTime;
        struct timeval compressionCpuTime;

        /* Lapsed time at the time of decompression */
        struct timeval decompressionRealTime;
        struct timeval decompressionCpuTime;
    } grpc_compression_info_t_np;

    /* Session Information */
    typedef struct grpc_session_info_s_np {
        grpc_exec_info_executable_t_np gei_measureExecutable;
        grpc_exec_info_client_t_np     gei_measureClient;

        struct {
            /* Number of elements as toRemote and toClient */
            int nElements;
            grpc_compression_info_t_np *toRemote;
            grpc_compression_info_t_np *toClient;
        } gei_compressionInformation;
    } grpc_session_info_t_np;

Refer to the following for return status.

GRPC_SESSION_ARG_IS_NOT_TRANSMITTED
Transmission of the arguments to the stub has not been completed.

GRPC_SESSION_EXECUTING
The session is in progress.

GRPC_SESSION_DOWN
The session is not being executed.

GRPC_SESSION_DONE
The session has ended.

GRPC_SESSION_UNKNOWN_STATUS
API was failed.

This function is MT-safe.

RETURN VALUE

If successful, GRPC_NO_ERROR is returned. In the case of an error, Error code is returned.

ERRORS

GRPC_NOT_INITIALIZED
GRPC client is not initialized yet.
GRPC_INVALID_SESSION_ID
Session ID is not valid.
GRPC_OTHER_ERROR_CODE
Internal error detected.

last update : $Date: 2005/07/11 08:13:35 $