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
Zeger-Jan van de Weg
bf6126b1ec Add coverage on legacy artifacts for Ci::Build 2017-12-03 12:04:49 +01:00
Kamil Trzcinski
38c61ab6df Fix specs failures, and use factory with :ci_job_artifact, :archive 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
Robert Speicher
72a7b30c9f Change all :empty_project to :project 2017-08-02 17:47:31 -04:00
Rémy Coutable
ddccd24c13 Remove superfluous lib: true, type: redis, service: true, models: true, services: true, no_db: true, api: true
Signed-off-by: Rémy Coutable <remy@rymai.me>
2017-07-27 14:31:53 +02:00
Rémy Coutable
3db37e0562 Enable the Style/TrailingCommaInArguments cop
Use the EnforcedStyleForMultiline: no_comma option.

Signed-off-by: Rémy Coutable <remy@rymai.me>
2017-05-10 18:25:45 +02: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