Loading…

Kryptel/Java

StorageStatistics structure

Declaration

package com.kryptel.storage;

public class StorageStatistics {
    public long uBaseSegmentSize;

    public int uAgentDataSize;
    public long uBaseDataAreaSize;
    public long uDirectorySize;

    public int nFixupSegments;
    public long uTotalFixupSegmentSize;

    public long uTotalFixupDataAreaSize;
    public long uTotalFixupListSize;
    public int nFixupRecords;

    public int nObjects;
    public int nDeletedObjects;
    public int nAttributeBlocks;
    public long uTotalAttributeSize;
    public int nStreams;
    public long uDataAreaUsed;
    public long uDataAreaUnused;
    public long uTotalStreamSize;

    public int nRecoveryBlocks;
    public long uTotalRecoveryBlockSize;
}

Description

This structure is returned by IEncryptedStorageInfo.GetStorageStatistics and contains various container statistics. Some of these values are used for debugging and tuning storage handlers and so require good understanding of Kryptel container structure.

uBaseSegmentSize
Size of the container's base segment. The same as the position of the first fixup segment (if present). The size of the container is uBaseSegmentSize + uTotalFixupSegmentSize.
uAgentDataSize
Size of the container's agent data area.
uBaseDataAreaSize
Size of the base segment's data area. Total data area size may be computed as uBaseDataAreaSize + uTotalFixupDataAreaSize.
uDirectorySize
Size of the base segment's directory.
nFixupSegments
Number of fixup segments.
uTotalFixupSegmentSize
Size of all the fixup segments. The size of the container is uBaseSegmentSize + uTotalFixupSegmentSize.
uTotalFixupDataAreaSize
Total size of data areas in all the fixup segments. Total container data area size is uBaseDataAreaSize + uTotalFixupDataAreaSize.
uTotalFixupListSize
Total size of all container's fixup lists.
nFixupRecords
Total number of all fixup records in all fixup lists.
nObjects
Number of objects including the container's root object, which always present. The total number of objects in the container is nObjects + nDeletedObjects.
nDeletedObjects
Number of deleted onjects. The total number of objects in the container is nObjects + nDeletedObjects.
nAttributeBlocks
Number of attribute blocks.
uTotalAttributeSize
Total size of attribute blocks.
nStreams
Number of data streams.
uDataAreaUsed
Size of the used part of the data area, i.e. the total size of data streams that belong to non-deleted objects plus the total size of recovery blocks.
uDataAreaUnused
Size of the unused part of the data area. For an unmodified container it equals to (uBaseDataAreaSize + uTotalFixupDataAreaSize) - (uDataAreaUsed + uTotalRecoveryBlockSize). For a modified container this value can't be reliably calculated, especially for a container being compressed.
uTotalStreamSize
Total uncompressed stream size. The compressed size may be computed as uDataAreaUsed - uTotalRecoveryBlockSize.
nRecoveryBlocks
Number of recovery blocks.
uTotalRecoveryBlockSize
Total size of recovery blocks.

Note that data area size is not the same as total streams size. Container's data area also contains recovery blocks and deleted streams.