summaryrefslogtreecommitdiff
path: root/doc/source/developer/metrics.rst
blob: 913a591ba9561b425355dba03a659a6c04c08c6b (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
:title: Metrics

Metrics
=======

Event Overview
--------------

The following table illustrates the event and pipeline processing
sequence as it relates to some of the metrics described in
:ref:`statsd`.  This is intended as general guidance only and is not
an exhaustive list.

+----------------------------------------+------+------+------+--------------------------------------+
| Event                                  |       Metrics      | Attribute                            |
+========================================+======+======+======+======================================+
| Event generated by source              |      |      |      | event.timestamp                      |
+----------------------------------------+------+      +      +--------------------------------------+
| Enqueued into driver queue             |      |      |      |                                      |
+----------------------------------------+------+      +      +--------------------------------------+
| Enqueued into tenant trigger queue     |      |      |      | event.arrived_at_scheduler_timestamp |
+----------------------------------------+      + [8]  +      +--------------------------------------+
| Forwarded to matching pipelines        | [1]  |      |      |                                      |
+----------------------------------------+      +      +      +--------------------------------------+
| Changes enqueued ahead                 |      |      |      |                                      |
+----------------------------------------+      +      +      +--------------------------------------+
| Change enqueued                        |      |      |      | item.enqueue_time                    |
+----------------------------------------+------+------+      +--------------------------------------+
| Changes enqueued behind                |      |      |      |                                      |
+----------------------------------------+------+------+      +--------------------------------------+
| Set item configuration                 |      |      |      | build_set.configured_time            |
+----------------------------------------+------+------+      +--------------------------------------+
| Request files changed (if needed)      |      |      |      |                                      |
+----------------------------------------+      +------+      +--------------------------------------+
| Request merge                          | [2]  |      |      |                                      |
+----------------------------------------+      +------+      +--------------------------------------+
| Wait for merge (and files if needed)   |      |      | [9]  |                                      |
+----------------------------------------+------+------+      +--------------------------------------+
| Generate dynamic layout (if needed)    | [3]  |      |      |                                      |
+----------------------------------------+------+------+      +--------------------------------------+
| Freeze job graph                       | [4]  |      |      |                                      |
+----------------------------------------+------+------+      +--------------------------------------+
| Request global repo state (if needed)  |      |      |      | build_set.repo_state_request_time    |
+----------------------------------------+ [5]  +------+      +--------------------------------------+
| Wait for global repo state (if needed) |      |      |      |                                      |
+----------------------------------------+------+------+      +--------------------------------------+
| Deduplicate jobs                       |      |      |      |                                      |
+----------------------------------------+------+------+      +--------------------------------------+
| Acquire semaphore (non-resources-first)|      |      |      |                                      |
+----------------------------------------+------+------+      +--------------------------------------+
| Request nodes                          |      |      |      | request.created_time                 |
+----------------------------------------+ [6]  +------+      +--------------------------------------+
| Wait for nodes                         |      |      |      |                                      |
+----------------------------------------+------+------+      +--------------------------------------+
| Acquire semaphore (resources-first)    |      |      |      |                                      |
+----------------------------------------+------+------+      +--------------------------------------+
| Enqueue build request                  |      |      |      | build.execute_time                   |
+----------------------------------------+ [7]  +------+      +--------------------------------------+
| Executor starts job                    |      |      |      | build.start_time                     |
+----------------------------------------+------+------+------+--------------------------------------+

======  =============================
Metric  Name
======  =============================
1       event_enqueue_processing_time
2       merge_request_time
3       layout_generation_time
4       job_freeze_time
5       repo_state_time
6       node_request_time
7       job_wait_time
8       event_enqueue_time
9       event_job_time
======  =============================