Class DiskUsageDataImpl
- java.lang.Object
-
- jetbrains.buildServer.serverSide.statistics.diskusage.DiskUsageDataImpl
-
- All Implemented Interfaces:
Serializable,DiskUsageData,DiskUsageDataReader
public class DiskUsageDataImpl extends Object implements Serializable, DiskUsageData
User: Andrey Titov Date: 1/28/13Incapsulates disk usage. Contains BuildType id, artifacts size, logs size, version and update flag.
- See Also:
- Serialized Form
-
-
Constructor Summary
Constructors Constructor Description DiskUsageDataImpl(String entityId, long version)CreatesDiskUsageDataobject containing information about 1 disk usage instance.DiskUsageDataImpl(String entityId, long version, long lastUpdatedDate)CreatesDiskUsageDataobject containing information about 1 disk usage instance.DiskUsageDataImpl(String entityId, long version, long artifactsSize, long internalArtifactsSize, long logSize)CreatesDiskUsageDataobject containing information about 1 disk usage instance.
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description DiskUsageDataadd(DiskUsageData other, boolean mergePerBuildData)Create disk usage, which summarizes information about two instancesvoidaddBuildsData(long id, long size)Adds information about a buildvoidaddBuildsData(long id, long size, int maxCount)Adds information about a buildlong[][]addBuildsData(long buildId, long size, int maxCount, long[][] buildsData)Add a build to tracked.voidaddBuildWithHugeLog(long buildId, long logSize)Saves information, that this build has huge logDiskUsageDataclone()Creates another disk usage instance with the same propertiesstatic DiskUsageDatadecode(String entityId, String encodedString)Decode DiskUsageData from a string.voiddecreaseBuildsNumber()Decreases number of builds, which disk usage is included into this instancevoiddecreaseCleanedBuildsNumber()Decreases number of builds, which were reported as cleaned in this instanceStringencode()Encodes DiskUsageData to a stringbooleanequals(Object o)longgetArtifactSize()long[][]getBuildsData()longgetBuildsNumber()long[][]getBuildsWithHugeLogsIds()longgetCleanedBuildsNumber()longgetCleanedSize()StringgetEntityId()Entity id of an entity, characterized by this data.longgetInternalArtifactsSize()longgetLastUpdatedDate()longgetLogSize()static intgetMaxBuildsToSave()static intgetMaxHugeLogsToSave()longgetNonBuilds()longgetVersion()inthashCode()voidincreaseArtifactsSize(long artifactsSize)Increases the artifacts sizevoidincreaseCleanedBuildsNumber()Increases number of builds without build artifactsvoidincreaseCleanedSize(long size)Increases size of files, which were cleanedvoidincreaseInternalArtifactsSize(long internalArtifactsSize)Increases the internal artifacts sizevoidincreaseLogsSize(long logSize)Increases the logs sizevoidincreaseNonBuildSize(long size)Increases size of files, which are not related to any buildbooleanisEmpty()booleanisUpdating()voidremoveBuildData(long buildId)Removes information about a build, if it was savedvoidremoveBuildWithHugeLog(long buildId)Removes information about some build huge log, if it was savedvoidsetArtifactsSize(long artifactsSize)Sets the artifacts sizevoidsetBuildsData(long[][] buildsData, int maxCount)Sets information about involved buildsvoidsetInternalArtifactsSize(long internalArtifactsSize)voidsetLastUpdatedDate(long lastUpdatedDate)Sets update datevoidsetLogSize(long logSize)Sets the logs sizevoidsetUpdating(boolean updating)Set or reset updating flagDiskUsageDatasubtract(DiskUsageData other)Create disk usage, which excludes data from another instanceStringtoString()
-
-
-
Constructor Detail
-
DiskUsageDataImpl
public DiskUsageDataImpl(@NotNull String entityId, long version)Creates
DiskUsageDataobject 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 idversion- version
-
DiskUsageDataImpl
public DiskUsageDataImpl(@NotNull String entityId, long version, long lastUpdatedDate)Creates
DiskUsageDataobject 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 idversion- version
-
DiskUsageDataImpl
public DiskUsageDataImpl(@NotNull String entityId, long version, long artifactsSize, long internalArtifactsSize, long logSize)Creates
DiskUsageDataobject 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()
-
clone
@NotNull public DiskUsageData clone()
Description copied from interface:DiskUsageDataCreates another disk usage instance with the same properties- Specified by:
clonein interfaceDiskUsageData- Overrides:
clonein classObject- Returns:
- this disk usage clone
-
add
@NotNull public DiskUsageData add(@NotNull DiskUsageData other, boolean mergePerBuildData)
Description copied from interface:DiskUsageDataCreate disk usage, which summarizes information about two instances- Specified by:
addin interfaceDiskUsageData- Parameters:
other- a disk usage instance, which is to be merged with this instancemergePerBuildData- 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:DiskUsageDataCreate disk usage, which excludes data from another instance- Specified by:
subtractin interfaceDiskUsageData- 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:DiskUsageDataEncodes DiskUsageData to a string- Specified by:
encodein interfaceDiskUsageData- Returns:
- encoded instance
-
setArtifactsSize
public void setArtifactsSize(long artifactsSize)
Description copied from interface:DiskUsageDataSets the artifacts size- Specified by:
setArtifactsSizein interfaceDiskUsageData
-
setInternalArtifactsSize
public void setInternalArtifactsSize(long internalArtifactsSize)
-
increaseArtifactsSize
public void increaseArtifactsSize(long artifactsSize)
Description copied from interface:DiskUsageDataIncreases the artifacts size- Specified by:
increaseArtifactsSizein interfaceDiskUsageData- Parameters:
artifactsSize- size to add in bytes
-
increaseInternalArtifactsSize
public void increaseInternalArtifactsSize(long internalArtifactsSize)
Description copied from interface:DiskUsageDataIncreases the internal artifacts size- Specified by:
increaseInternalArtifactsSizein interfaceDiskUsageData- Parameters:
internalArtifactsSize- size to add in bytes
-
setLogSize
public void setLogSize(long logSize)
Description copied from interface:DiskUsageDataSets the logs size- Specified by:
setLogSizein interfaceDiskUsageData
-
increaseLogsSize
public void increaseLogsSize(long logSize)
Description copied from interface:DiskUsageDataIncreases the logs size- Specified by:
increaseLogsSizein interfaceDiskUsageData- Parameters:
logSize- size to add in bytes
-
getEntityId
@NotNull public String getEntityId()
Description copied from interface:DiskUsageDataReaderEntity id of an entity, characterized by this data. Basically it's a project or build type internal id- Specified by:
getEntityIdin interfaceDiskUsageDataReader- Returns:
- Name of the build type this row was calculated for
-
getArtifactSize
public long getArtifactSize()
- Specified by:
getArtifactSizein interfaceDiskUsageDataReader- Returns:
- Artifatcs size of this build type
-
getInternalArtifactsSize
public long getInternalArtifactsSize()
- Specified by:
getInternalArtifactsSizein interfaceDiskUsageDataReader- Returns:
- internal artifacts size in bytes
-
getLogSize
public long getLogSize()
- Specified by:
getLogSizein interfaceDiskUsageDataReader- Returns:
- Logs size of this build type
-
getVersion
public long getVersion()
- Specified by:
getVersionin interfaceDiskUsageDataReader- Returns:
- DiskUsageData version
-
setUpdating
public void setUpdating(boolean updating)
Description copied from interface:DiskUsageDataSet or reset updating flag- Specified by:
setUpdatingin interfaceDiskUsageData- Parameters:
updating- true if this instance is updating now
-
isUpdating
public boolean isUpdating()
- Specified by:
isUpdatingin interfaceDiskUsageDataReader- 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:DiskUsageDataSets information about involved builds- Specified by:
setBuildsDatain interfaceDiskUsageData- Parameters:
buildsData- information about buildsmaxCount- max number of builds to track
-
removeBuildData
public void removeBuildData(long buildId)
Description copied from interface:DiskUsageDataRemoves information about a build, if it was saved- Specified by:
removeBuildDatain interfaceDiskUsageData- Parameters:
buildId- build id of a corresponding build
-
addBuildsData
public void addBuildsData(long id, long size)Description copied from interface:DiskUsageDataAdds information about a build- Specified by:
addBuildsDatain interfaceDiskUsageData- Parameters:
id- build id of a corresponding buildsize- size in bytes, which this build occupies
-
addBuildsData
public void addBuildsData(long id, long size, int maxCount)Description copied from interface:DiskUsageDataAdds information about a build- Specified by:
addBuildsDatain interfaceDiskUsageData- Parameters:
id- build id of a corresponding buildsize- size in bytes, which this build occupiesmaxCount- number of builds, which information should be saved in this instance
-
addBuildsData
public long[][] addBuildsData(long buildId, long size, int maxCount, @Nullable long[][] buildsData)Description copied from interface:DiskUsageDataAdd a build to tracked. If builds total size is above average it will be stored in a storage (DiskUsageDataReader.getBuildsData()).- Specified by:
addBuildsDatain interfaceDiskUsageData
-
getBuildsData
@Nullable public long[][] getBuildsData()
- Specified by:
getBuildsDatain interfaceDiskUsageDataReader- 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:
getBuildsNumberin interfaceDiskUsageData- Returns:
- number of builds, accounted in this instance
-
getBuildsWithHugeLogsIds
@Nullable public long[][] getBuildsWithHugeLogsIds()
- Specified by:
getBuildsWithHugeLogsIdsin interfaceDiskUsageDataReader- 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:DiskUsageDataRemoves information about some build huge log, if it was saved- Specified by:
removeBuildWithHugeLogin interfaceDiskUsageData- Parameters:
buildId- build id of a corresponding build
-
addBuildWithHugeLog
public void addBuildWithHugeLog(long buildId, long logSize)Description copied from interface:DiskUsageDataSaves information, that this build has huge log- Specified by:
addBuildWithHugeLogin interfaceDiskUsageData- Parameters:
buildId- build id of a corresponding buildlogSize- size of build log in bytes
-
decreaseBuildsNumber
public void decreaseBuildsNumber()
Description copied from interface:DiskUsageDataDecreases number of builds, which disk usage is included into this instance- Specified by:
decreaseBuildsNumberin interfaceDiskUsageData
-
decreaseCleanedBuildsNumber
public void decreaseCleanedBuildsNumber()
Description copied from interface:DiskUsageDataDecreases number of builds, which were reported as cleaned in this instance- Specified by:
decreaseCleanedBuildsNumberin interfaceDiskUsageData
-
increaseCleanedBuildsNumber
public void increaseCleanedBuildsNumber()
Description copied from interface:DiskUsageDataIncreases number of builds without build artifacts- Specified by:
increaseCleanedBuildsNumberin interfaceDiskUsageData
-
getCleanedBuildsNumber
public long getCleanedBuildsNumber()
- Specified by:
getCleanedBuildsNumberin interfaceDiskUsageData- Returns:
- number of builds, cleaned in this instance
-
isEmpty
public boolean isEmpty()
- Specified by:
isEmptyin interfaceDiskUsageData
-
getCleanedSize
public long getCleanedSize()
- Specified by:
getCleanedSizein interfaceDiskUsageDataReader- Returns:
- size of files (including artifacts and logs) in bytes, which where removed by server cleanup
-
getNonBuilds
public long getNonBuilds()
- Specified by:
getNonBuildsin interfaceDiskUsageDataReader- 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:DiskUsageDataIncreases size of files, which are not related to any build- Specified by:
increaseNonBuildSizein interfaceDiskUsageData- Parameters:
size- non-build size in bytes
-
increaseCleanedSize
public void increaseCleanedSize(long size)
Description copied from interface:DiskUsageDataIncreases size of files, which were cleaned- Specified by:
increaseCleanedSizein interfaceDiskUsageData- Parameters:
size- cleaned size in bytes
-
getLastUpdatedDate
public long getLastUpdatedDate()
- Specified by:
getLastUpdatedDatein interfaceDiskUsageDataReader- Returns:
- last update time
- See Also:
DiskUsageDataReader.isUpdating()
-
setLastUpdatedDate
public void setLastUpdatedDate(long lastUpdatedDate)
Description copied from interface:DiskUsageDataSets update date- Specified by:
setLastUpdatedDatein interfaceDiskUsageData
-
-