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)
CreatesDiskUsageData
object containing information about 1 disk usage instance.DiskUsageDataImpl(String entityId, long version, long lastUpdatedDate)
CreatesDiskUsageData
object containing information about 1 disk usage instance.DiskUsageDataImpl(String entityId, long version, long artifactsSize, long internalArtifactsSize, long logSize)
CreatesDiskUsageData
object containing information about 1 disk usage instance.
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description DiskUsageData
add(DiskUsageData other, boolean mergePerBuildData)
Create disk usage, which summarizes information about two instancesvoid
addBuildsData(long id, long size)
Adds information about a buildvoid
addBuildsData(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.void
addBuildWithHugeLog(long buildId, long logSize)
Saves information, that this build has huge logDiskUsageData
clone()
Creates another disk usage instance with the same propertiesstatic DiskUsageData
decode(String entityId, String encodedString)
Decode DiskUsageData from a string.void
decreaseBuildsNumber()
Decreases number of builds, which disk usage is included into this instancevoid
decreaseCleanedBuildsNumber()
Decreases number of builds, which were reported as cleaned in this instanceString
encode()
Encodes DiskUsageData to a stringboolean
equals(Object o)
long
getArtifactSize()
long[][]
getBuildsData()
long
getBuildsNumber()
long[][]
getBuildsWithHugeLogsIds()
long
getCleanedBuildsNumber()
long
getCleanedSize()
String
getEntityId()
Entity id of an entity, characterized by this data.long
getInternalArtifactsSize()
long
getLastUpdatedDate()
long
getLogSize()
static int
getMaxBuildsToSave()
static int
getMaxHugeLogsToSave()
long
getNonBuilds()
long
getVersion()
int
hashCode()
void
increaseArtifactsSize(long artifactsSize)
Increases the artifacts sizevoid
increaseCleanedBuildsNumber()
Increases number of builds without build artifactsvoid
increaseCleanedSize(long size)
Increases size of files, which were cleanedvoid
increaseInternalArtifactsSize(long internalArtifactsSize)
Increases the internal artifacts sizevoid
increaseLogsSize(long logSize)
Increases the logs sizevoid
increaseNonBuildSize(long size)
Increases size of files, which are not related to any buildboolean
isEmpty()
boolean
isUpdating()
void
removeBuildData(long buildId)
Removes information about a build, if it was savedvoid
removeBuildWithHugeLog(long buildId)
Removes information about some build huge log, if it was savedvoid
setArtifactsSize(long artifactsSize)
Sets the artifacts sizevoid
setBuildsData(long[][] buildsData, int maxCount)
Sets information about involved buildsvoid
setInternalArtifactsSize(long internalArtifactsSize)
void
setLastUpdatedDate(long lastUpdatedDate)
Sets update datevoid
setLogSize(long logSize)
Sets the logs sizevoid
setUpdating(boolean updating)
Set or reset updating flagDiskUsageData
subtract(DiskUsageData other)
Create disk usage, which excludes data from another instanceString
toString()
-
-
-
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 idversion
- 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 idversion
- 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()
-
clone
@NotNull public DiskUsageData clone()
Description copied from interface:DiskUsageData
Creates another disk usage instance with the same properties- Specified by:
clone
in interfaceDiskUsageData
- Overrides:
clone
in classObject
- Returns:
- this disk usage clone
-
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 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:DiskUsageData
Create disk usage, which excludes data from another instance- Specified by:
subtract
in 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:DiskUsageData
Encodes DiskUsageData to a string- Specified by:
encode
in interfaceDiskUsageData
- Returns:
- encoded instance
-
setArtifactsSize
public void setArtifactsSize(long artifactsSize)
Description copied from interface:DiskUsageData
Sets the artifacts size- Specified by:
setArtifactsSize
in interfaceDiskUsageData
-
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 interfaceDiskUsageData
- 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 interfaceDiskUsageData
- Parameters:
internalArtifactsSize
- size to add in bytes
-
setLogSize
public void setLogSize(long logSize)
Description copied from interface:DiskUsageData
Sets the logs size- Specified by:
setLogSize
in interfaceDiskUsageData
-
increaseLogsSize
public void increaseLogsSize(long logSize)
Description copied from interface:DiskUsageData
Increases the logs size- Specified by:
increaseLogsSize
in interfaceDiskUsageData
- 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 interfaceDiskUsageDataReader
- Returns:
- Name of the build type this row was calculated for
-
getArtifactSize
public long getArtifactSize()
- Specified by:
getArtifactSize
in interfaceDiskUsageDataReader
- Returns:
- Artifatcs size of this build type
-
getInternalArtifactsSize
public long getInternalArtifactsSize()
- Specified by:
getInternalArtifactsSize
in interfaceDiskUsageDataReader
- Returns:
- internal artifacts size in bytes
-
getLogSize
public long getLogSize()
- Specified by:
getLogSize
in interfaceDiskUsageDataReader
- Returns:
- Logs size of this build type
-
getVersion
public long getVersion()
- Specified by:
getVersion
in interfaceDiskUsageDataReader
- Returns:
- DiskUsageData version
-
setUpdating
public void setUpdating(boolean updating)
Description copied from interface:DiskUsageData
Set or reset updating flag- Specified by:
setUpdating
in interfaceDiskUsageData
- Parameters:
updating
- true if this instance is updating now
-
isUpdating
public boolean isUpdating()
- Specified by:
isUpdating
in 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:DiskUsageData
Sets information about involved builds- Specified by:
setBuildsData
in interfaceDiskUsageData
- Parameters:
buildsData
- information about buildsmaxCount
- 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 interfaceDiskUsageData
- 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 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:DiskUsageData
Adds information about a build- Specified by:
addBuildsData
in 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:DiskUsageData
Add a build to tracked. If builds total size is above average it will be stored in a storage (DiskUsageDataReader.getBuildsData()
).- Specified by:
addBuildsData
in interfaceDiskUsageData
-
getBuildsData
@Nullable public long[][] getBuildsData()
- Specified by:
getBuildsData
in 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:
getBuildsNumber
in interfaceDiskUsageData
- Returns:
- number of builds, accounted in this instance
-
getBuildsWithHugeLogsIds
@Nullable public long[][] getBuildsWithHugeLogsIds()
- Specified by:
getBuildsWithHugeLogsIds
in 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:DiskUsageData
Removes information about some build huge log, if it was saved- Specified by:
removeBuildWithHugeLog
in interfaceDiskUsageData
- 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 interfaceDiskUsageData
- Parameters:
buildId
- build id of a corresponding buildlogSize
- 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 interfaceDiskUsageData
-
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 interfaceDiskUsageData
-
increaseCleanedBuildsNumber
public void increaseCleanedBuildsNumber()
Description copied from interface:DiskUsageData
Increases number of builds without build artifacts- Specified by:
increaseCleanedBuildsNumber
in interfaceDiskUsageData
-
getCleanedBuildsNumber
public long getCleanedBuildsNumber()
- Specified by:
getCleanedBuildsNumber
in interfaceDiskUsageData
- Returns:
- number of builds, cleaned in this instance
-
isEmpty
public boolean isEmpty()
- Specified by:
isEmpty
in interfaceDiskUsageData
-
getCleanedSize
public long getCleanedSize()
- Specified by:
getCleanedSize
in interfaceDiskUsageDataReader
- Returns:
- size of files (including artifacts and logs) in bytes, which where removed by server cleanup
-
getNonBuilds
public long getNonBuilds()
- Specified by:
getNonBuilds
in 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:DiskUsageData
Increases size of files, which are not related to any build- Specified by:
increaseNonBuildSize
in interfaceDiskUsageData
- 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 interfaceDiskUsageData
- Parameters:
size
- cleaned size in bytes
-
getLastUpdatedDate
public long getLastUpdatedDate()
- Specified by:
getLastUpdatedDate
in interfaceDiskUsageDataReader
- Returns:
- last update time
- See Also:
DiskUsageDataReader.isUpdating()
-
setLastUpdatedDate
public void setLastUpdatedDate(long lastUpdatedDate)
Description copied from interface:DiskUsageData
Sets update date- Specified by:
setLastUpdatedDate
in interfaceDiskUsageData
-
-