Class DiskUsageDataImpl

    • Constructor Detail

      • DiskUsageDataImpl

        public DiskUsageDataImpl​(@NotNull
                                 String entityId,
                                 long version)

        Creates DiskUsageData object containing information about 1 disk usage instance. It holds logs and artifatcs size for one single build type. Project name and ID are stored as well as build type name.

        Parameters:
        entityId - Build type id
        version - version
      • DiskUsageDataImpl

        public DiskUsageDataImpl​(@NotNull
                                 String entityId,
                                 long version,
                                 long lastUpdatedDate)

        Creates DiskUsageData object containing information about 1 disk usage instance. It holds logs and artifatcs size for one single build type. Project name and ID are stored as well as build type name.

        Parameters:
        entityId - Build type id
        version - version
      • DiskUsageDataImpl

        public DiskUsageDataImpl​(@NotNull
                                 String entityId,
                                 long version,
                                 long artifactsSize,
                                 long internalArtifactsSize,
                                 long logSize)

        Creates DiskUsageData object containing information about 1 disk usage instance. It holds logs and artifatcs size for one single build type. Project name and ID are stored as well as build type name.

        Parameters:
        entityId -
        version -
        artifactsSize -
        internalArtifactsSize -
        logSize -
    • Method Detail

      • getMaxHugeLogsToSave

        public static int getMaxHugeLogsToSave()
      • getMaxBuildsToSave

        public static int getMaxBuildsToSave()
      • add

        @NotNull
        public DiskUsageData add​(@NotNull
                                 DiskUsageData other,
                                 boolean mergePerBuildData)
        Description copied from interface: DiskUsageData
        Create disk usage, which summarizes information about two instances
        Specified by:
        add in interface DiskUsageData
        Parameters:
        other - a disk usage instance, which is to be merged with this instance
        mergePerBuildData - true if the information about tracked builds should be merged as well
        Returns:
        merged disk usage
      • subtract

        @NotNull
        public DiskUsageData subtract​(@NotNull
                                      DiskUsageData other)
        Description copied from interface: DiskUsageData
        Create disk usage, which excludes data from another instance
        Specified by:
        subtract in interface DiskUsageData
        Parameters:
        other - a disk usage instance, which is to be excluded from this instance
        Returns:
        resulted disk usage
      • decode

        @Nullable
        public static DiskUsageData decode​(@NotNull
                                           String entityId,
                                           @NotNull
                                           String encodedString)

        Decode DiskUsageData from a string.

        Parameters:
        entityId -
        encodedString -
        Returns:
      • encode

        @NotNull
        public String encode()
        Description copied from interface: DiskUsageData
        Encodes DiskUsageData to a string
        Specified by:
        encode in interface DiskUsageData
        Returns:
        encoded instance
      • setInternalArtifactsSize

        public void setInternalArtifactsSize​(long internalArtifactsSize)
      • increaseArtifactsSize

        public void increaseArtifactsSize​(long artifactsSize)
        Description copied from interface: DiskUsageData
        Increases the artifacts size
        Specified by:
        increaseArtifactsSize in interface DiskUsageData
        Parameters:
        artifactsSize - size to add in bytes
      • increaseInternalArtifactsSize

        public void increaseInternalArtifactsSize​(long internalArtifactsSize)
        Description copied from interface: DiskUsageData
        Increases the internal artifacts size
        Specified by:
        increaseInternalArtifactsSize in interface DiskUsageData
        Parameters:
        internalArtifactsSize - size to add in bytes
      • increaseLogsSize

        public void increaseLogsSize​(long logSize)
        Description copied from interface: DiskUsageData
        Increases the logs size
        Specified by:
        increaseLogsSize in interface DiskUsageData
        Parameters:
        logSize - size to add in bytes
      • getEntityId

        @NotNull
        public String getEntityId()
        Description copied from interface: DiskUsageDataReader
        Entity id of an entity, characterized by this data. Basically it's a project or build type internal id
        Specified by:
        getEntityId in interface DiskUsageDataReader
        Returns:
        Name of the build type this row was calculated for
      • hashCode

        public int hashCode()
        Overrides:
        hashCode in class Object
      • setUpdating

        public void setUpdating​(boolean updating)
        Description copied from interface: DiskUsageData
        Set or reset updating flag
        Specified by:
        setUpdating in interface DiskUsageData
        Parameters:
        updating - true if this instance is updating now
      • isUpdating

        public boolean isUpdating()
        Specified by:
        isUpdating in interface DiskUsageDataReader
        Returns:
        true if this instance is updating now (e.g. its properties recalculated or a new build is being processed)
      • setBuildsData

        public void setBuildsData​(@Nullable
                                  long[][] buildsData,
                                  int maxCount)
        Description copied from interface: DiskUsageData
        Sets information about involved builds
        Specified by:
        setBuildsData in interface DiskUsageData
        Parameters:
        buildsData - information about builds
        maxCount - max number of builds to track
      • removeBuildData

        public void removeBuildData​(long buildId)
        Description copied from interface: DiskUsageData
        Removes information about a build, if it was saved
        Specified by:
        removeBuildData in interface DiskUsageData
        Parameters:
        buildId - build id of a corresponding build
      • addBuildsData

        public void addBuildsData​(long id,
                                  long size)
        Description copied from interface: DiskUsageData
        Adds information about a build
        Specified by:
        addBuildsData in interface DiskUsageData
        Parameters:
        id - build id of a corresponding build
        size - size in bytes, which this build occupies
      • addBuildsData

        public void addBuildsData​(long id,
                                  long size,
                                  int maxCount)
        Description copied from interface: DiskUsageData
        Adds information about a build
        Specified by:
        addBuildsData in interface DiskUsageData
        Parameters:
        id - build id of a corresponding build
        size - size in bytes, which this build occupies
        maxCount - number of builds, which information should be saved in this instance
      • getBuildsData

        @Nullable
        public long[][] getBuildsData()
        Specified by:
        getBuildsData in interface DiskUsageDataReader
        Returns:
        information about builds, contributing into disk usage of this entity. The list is sorted by total build artifacts size descendally. Not all builds are saved, but only a fixed number of top builds
      • getBuildsNumber

        public long getBuildsNumber()
        Specified by:
        getBuildsNumber in interface DiskUsageData
        Returns:
        number of builds, accounted in this instance
      • getBuildsWithHugeLogsIds

        @Nullable
        public long[][] getBuildsWithHugeLogsIds()
        Specified by:
        getBuildsWithHugeLogsIds in interface DiskUsageDataReader
        Returns:
        fixed number of information about builds, which have atypically huge size of build logs. The list is sorted by build logs size descendally
        See Also:
        HugeLogs
      • removeBuildWithHugeLog

        public void removeBuildWithHugeLog​(long buildId)
        Description copied from interface: DiskUsageData
        Removes information about some build huge log, if it was saved
        Specified by:
        removeBuildWithHugeLog in interface DiskUsageData
        Parameters:
        buildId - build id of a corresponding build
      • addBuildWithHugeLog

        public void addBuildWithHugeLog​(long buildId,
                                        long logSize)
        Description copied from interface: DiskUsageData
        Saves information, that this build has huge log
        Specified by:
        addBuildWithHugeLog in interface DiskUsageData
        Parameters:
        buildId - build id of a corresponding build
        logSize - size of build log in bytes
      • decreaseBuildsNumber

        public void decreaseBuildsNumber()
        Description copied from interface: DiskUsageData
        Decreases number of builds, which disk usage is included into this instance
        Specified by:
        decreaseBuildsNumber in interface DiskUsageData
      • decreaseCleanedBuildsNumber

        public void decreaseCleanedBuildsNumber()
        Description copied from interface: DiskUsageData
        Decreases number of builds, which were reported as cleaned in this instance
        Specified by:
        decreaseCleanedBuildsNumber in interface DiskUsageData
      • getCleanedBuildsNumber

        public long getCleanedBuildsNumber()
        Specified by:
        getCleanedBuildsNumber in interface DiskUsageData
        Returns:
        number of builds, cleaned in this instance
      • getCleanedSize

        public long getCleanedSize()
        Specified by:
        getCleanedSize in interface DiskUsageDataReader
        Returns:
        size of files (including artifacts and logs) in bytes, which where removed by server cleanup
      • getNonBuilds

        public long getNonBuilds()
        Specified by:
        getNonBuilds in interface DiskUsageDataReader
        Returns:
        size of files in bytes, which are not recognized as build artifacts or logs
      • increaseNonBuildSize

        public void increaseNonBuildSize​(long size)
        Description copied from interface: DiskUsageData
        Increases size of files, which are not related to any build
        Specified by:
        increaseNonBuildSize in interface DiskUsageData
        Parameters:
        size - non-build size in bytes
      • increaseCleanedSize

        public void increaseCleanedSize​(long size)
        Description copied from interface: DiskUsageData
        Increases size of files, which were cleaned
        Specified by:
        increaseCleanedSize in interface DiskUsageData
        Parameters:
        size - cleaned size in bytes