You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
@@ -50,33 +50,22 @@ For runtime benchmarks the schema very similar, but there are different table na
50
50
51
51
A description of a rustc compiler artifact being benchmarked.
52
52
53
-
This description includes:
54
-
* name: usually a commit sha or a tag like "1.51.0" but is free-form text so can be anything.
55
-
* date: the date associated with this compiler artifact (usually only when the name is a commit)
56
-
* type: currently one of "master" (i.e., we're testing a merge commit), "try" (someone is testing a PR), and "release" (usually a release candidate - though local compilers also get labeled like this).
53
+
Columns:
57
54
58
-
```
59
-
sqlite> select * from artifact limit 1;
60
-
id name date type
61
-
---------- ---------- ---------- -------
62
-
1 LOCAL_TEST release
63
-
```
55
+
***name** (`text`): Usually a commit sha "fefce3cecd69cebf2d7c9aa3dd90a84379f4201a" or a tag like "1.51.0" but is free-form text so could be anything.
56
+
***date** (`timestamptz`: The date associated with this compiler artifact (usually only when the name is a commit)
57
+
***type** (`text`): Currently one of "master" (i.e., we're testing a merge commit), "try" (someone is testing a PR), and "release" (usually a release candidate - though local compilers also get labeled like this).
64
58
65
59
### artifact size
66
60
67
61
Records the size of individual components (like `librustc_driver.so` or `libLLVM.so`) of a single
68
62
artifact.
69
63
70
-
This description includes:
71
-
* component: normalized name of the component (hashes are removed)
72
-
* size: size of the component in bytes
64
+
Columns:
73
65
74
-
```
75
-
sqlite> select * from artifact_size limit 1;
76
-
aid component size
77
-
---------- ---------- ----------
78
-
1 libLLVM.so 177892352
79
-
```
66
+
***aid** (`integer`): Artifact id, references the id in the artifact table
67
+
***component** (`text`): Normalized name of the component (hashes are removed)
68
+
***size** (`integer`): Size of the component in bytes
80
69
81
70
### collection
82
71
@@ -88,34 +77,31 @@ This is a way to collect statistics together signifying that they belong to the
88
77
89
78
Currently, the collection also marks the git sha of the currently running collector binary.
Keeps track of the collector's start and finish time as well as which step it's currently on.
101
88
102
-
```
103
-
sqlite> select * from collector_progress limit 1;
104
-
aid step start end
105
-
---------- ---------- ---------- ----------
106
-
1 helloworld 1625829961 1625829965
107
-
```
89
+
Columns:
90
+
91
+
***aid** (`integer`): Artifact id, references the id in the artifact table
92
+
***step** (`text`): The step the collector is currently benchmarking
93
+
***start** (`timestamptz`): When the collector started
94
+
***end** (`timestamptz`): When the collector finished
108
95
109
96
### artifact_collection_duration
110
97
111
98
Records how long benchmarking takes in seconds.
112
99
113
-
```
114
-
sqlite> select * from artifact_collection_duration limit 1;
115
-
aid date_recorded duration
116
-
---------- ------------- ----------
117
-
1 1625829965 4
118
-
```
100
+
Columns:
101
+
102
+
***aid** (`integer`): Artifact id, references the id in the artifact table
103
+
***date_recorded** (`timestamptz`): When this was recorded
104
+
***duration** (`integer`): How long the benchmarking took in seconds
119
105
120
106
### benchmark
121
107
@@ -127,35 +113,28 @@ and its category. The benchmark name is used as a foreign key in many of the oth
127
113
Category is either `primary` (real-world benchmark) or `secondary` (stress test).
128
114
Stable benchmarks have `category` set to `primary` and `stabilized` set to `1`.
129
115
130
-
```
131
-
sqlite> select * from benchmark limit 1;
132
-
name stabilized category
133
-
---------- ---------- ----------
134
-
helloworld 0 primary
135
-
```
116
+
Columns:
117
+
118
+
***name** (`text`): Name of the benchmark
119
+
***stabilized** (`boolean`): Whether the benchmark supports stable
120
+
***category** (`category`): `primary` if this is a 'real-world' benchmark or `secondary` if a 'stress test'
136
121
137
122
### pstat_series
138
123
139
124
Describes the parametrization of a compile-time benchmark. Contains a unique combination
140
125
of a crate, profile, scenario and the metric being collected.
141
126
142
-
* crate (aka `benchmark`): the benchmarked crate which might be a crate from crates.io or a crate made specifically to stress some part of the compiler.
143
-
* profile: what type of compilation is happening - check build, optimized build (a.k.a. release build), debug build, or doc build.
144
-
* scenario: describes how much of the incremental cache is full. An empty incremental cache means that the compiler must do a full build.
145
-
* backend: codegen backend used for compilation.
146
-
* metric: the type of metric being collected.
127
+
Columns:
147
128
148
-
This corresponds to a [`statistic description`](../docs/glossary.md).
129
+
***crate** (`text`) (aka `benchmark`): The benchmarked crate which might be a crate from crates.io or a crate made specifically to stress some part of the compiler.
130
+
***profile** (`text`): What type of compilation is happening - check build, optimized build (a.k.a. release build), debug build, or doc build.
131
+
***scenario** (`text`): Describes how much of the incremental cache is full. An empty incremental cache means that the compiler must do a full build.
132
+
***backend** (`text`): Codegen backend used for compilation, for example 'llvm'
133
+
***metric** (`text`): the type of metric being collected.
149
134
150
-
There is a separate table for this collection to avoid duplicating crates, profiles, scenarios etc.
151
-
many times in the `pstat` table.
135
+
This corresponds to a [`statistic description`](../docs/glossary.md).
0 commit comments