Commit graph

10 commits

Author SHA1 Message Date
Dylan Griffith
03b020f2e4 Update ProjectStatistics#build_artifacts_size synchronously without summing (#41059)
Previously we scheduled a worker to just some this but we were running
into performance issues when the build table was getting too large. So
now we've updated the code such that this column is updated immediately
and incremented/decremented by the correct amount whenever artifacts are
created or deleted.

We've also added the performance optimization that we do not update this
statistic if a project is deleted because it could result in many
updates for a project with many builds.
2018-04-19 18:35:40 +10:00
Nick Thomas
22aef3d424
Fix a bug calculating artifact size for project statistics 2018-01-18 17:48:09 +00:00
Kamil Trzcinski
8f01e67980 Revert "Rename job_archive|metadata to artifacts_archive|metadata"
This reverts commit 714082e65304ae2ec5c5400c59a68ab63e724aa9.
2017-12-03 12:04:49 +01:00
Kamil Trzcinski
2045a771bf Rename job_archive|metadata to artifacts_archive|metadata 2017-12-03 12:04:49 +01:00
Zeger-Jan van de Weg
c7d945758a Fix most test failures 2017-12-03 12:04:49 +01:00
Zeger-Jan van de Weg
61864a5a5b Rename Artifact to JobArtifact, split metadata out
Two things at ones, as there was no clean way to seperate the commit and
give me feedback from the tests.

But the model Artifact is now JobArtifact, and the table does not have a
type anymore, but the metadata is now its own model:
Ci::JobArtifactMetadata.
2017-12-03 12:04:48 +01:00
Brian Neel
9770c57fab Re-enable SqlInjection and CommandInjection 2017-08-08 10:50:54 -04:00
Douwe Maan
b7d8df503c Enable Style/MutableConstant 2017-02-23 09:31:56 -06:00
Oswaldo Ferreira
4bb3675b7d Fix Project#update_repository_size to convert MB to Bytes properly 2017-01-17 21:50:09 -02:00
Markus Koller
3ef4f74b1a
Add more storage statistics
This adds counters for build artifacts and LFS objects, and moves
the preexisting repository_size and commit_count from the projects
table into a new project_statistics table.

The counters are displayed in the administration area for projects
and groups, and also available through the API for admins (on */all)
and normal users (on */owned)

The statistics are updated through ProjectCacheWorker, which can now
do more granular updates with the new :statistics argument.
2016-12-21 16:39:49 +01:00