Welcome to mirror list, hosted at ThFree Co, Russian Federation.

gitlab.com/gitlab-org/gitlab-foss.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRémy Coutable <remy@rymai.me>2016-12-20 14:43:33 +0300
committerRémy Coutable <remy@rymai.me>2016-12-20 14:43:33 +0300
commit68e3d38a82c74eda2027f9655777fd9006a1bd08 (patch)
treeac90ccb87f8167e3e9838780424d99023d5f8450
parent49ed235de9d58563a817801647bd9029e95d6506 (diff)
parent7b664858ff33832cf62fe56322be0cfe04cbbc7d (diff)
Merge branch 'doc-for-pipeline-duration' into 'master'
Add doc for pipeline duration The description was copied and modified from !6084 See merge request !6445
-rw-r--r--doc/ci/pipelines.md31
1 files changed, 31 insertions, 0 deletions
diff --git a/doc/ci/pipelines.md b/doc/ci/pipelines.md
index 03b9c4bb444..f91b9d350f7 100644
--- a/doc/ci/pipelines.md
+++ b/doc/ci/pipelines.md
@@ -36,6 +36,37 @@ Clicking on a pipeline will show the builds that were run for that pipeline.
Clicking on an individual build will show you its build trace, and allow you to
cancel the build, retry it, or erase the build trace.
+## How the pipeline duration is calculated
+
+Total running time for a given pipeline would exclude retries and pending
+(queue) time. We could reduce this problem down to finding the union of
+periods.
+
+So each job would be represented as a `Period`, which consists of
+`Period#first` as when the job started and `Period#last` as when the
+job was finished. A simple example here would be:
+
+* A (1, 3)
+* B (2, 4)
+* C (6, 7)
+
+Here A begins from 1, and ends to 3. B begins from 2, and ends to 4.
+C begins from 6, and ends to 7. Visually it could be viewed as:
+
+```
+0 1 2 3 4 5 6 7
+ AAAAAAA
+ BBBBBBB
+ CCCC
+```
+
+The union of A, B, and C would be (1, 4) and (6, 7), therefore the
+total running time should be:
+
+```
+(4 - 1) + (7 - 6) => 4
+```
+
## Badges
Build status and test coverage report badges are available. You can find their