Help
Change theme
Press space for more information.
Refresh (Shortcut: Shift+r)
Go home (Shortcut: u)
Copy issue ID
Show links for this issue (Shortcut: i, l)
Previous Issue (Shortcut: k)
Next Issue (Shortcut: j)
Sign in to use full features.
View issue level access limits(Press Alt + Right arrow for more information)
Pending code changes (auto-populated)
The version field defines the version of the software the bug was found in. [ID: 1154637]
Notification menu
Vote: I am impacted
Unintended behavior
View staffing
Description
In the past, I've used CreateChange on reftable as a test of gerrit speed. It exercises many write paths.
```
commit d183987b04eb2dae5741b92c9df48493a1ae14c8 (HEAD, refs/bisect/bad)
Merge: 3cf5c82882 7f38d1c685
Author: Marco Miller <marco.miller@ericsson.com>
Date: Thu Sep 3 17:46:24 2020 -0400
Merge branch 'stable-3.1' into stable-3.2
$ go run contrib/benchmark-createchange.go --project testproj -n 100
..
$ 2020/12/21 18:47:31 min 237.289373ms max 1.473236819s median 288.292568ms avg 313.233871ms
commit 3cf5c82882a3603e5382ca0589a74862f367f7f0 (HEAD, refs/bisect/good-3cf5c82882a3603e5382ca0589a74862f367f7f0)
Author: Nasser Grainawi <nasser@grainawi.org>
Date: Wed Sep 2 15:38:46 2020 -0600
Update git submodules
$ go run contrib/benchmark-createchange.go --project testproj -n 100
..
2020/12/21 18:49:54 min 120.235676ms max 1.248096079s median 157.955979ms avg 177.751623ms
18:51:08
```
***
version 2019-10-08:
com.google.gerrit.server.logging.TraceContext.TraceTimer : Starting timer for soy plain [
CONTEXT forced=true TRACE_ID="beforesoy" ]
[2020-12-21T19:54:54.989+01:00] [HTTP POST /a/changes/?trace=beforesoy (admin from 127.0.0.1)] DEBUG com.google.gerrit.server.logging.TraceContext.TraceTimer : soy plain done (9 ms) [CONTEXT
forced=true TRACE_ID="beforesoy" ]
version 2020-08-24
[2020-12-21T19:51:35.366+01:00] [HTTP POST /a/changes/?trace=soy (admin from 127.0.0.1)] DEBUG com.google.gerrit.server.logging.TraceContext.TraceTimer : Starting timer for soy plain [CONTEX
T forced=true TRACE_ID="soy" ]
[2020-12-21T19:51:35.398+01:00] [HTTP POST /a/changes/?trace=soy (admin from 127.0.0.1)] DEBUG com.google.gerrit.server.logging.TraceContext.TraceTimer : soy plain done (31 ms) [CONTEXT forc
ed=true TRACE_ID="soy" ]
this represents a 20ms regression per call. There is both HTML and plain text E-mail, and there is a header, body and footer. Together that's 6x20 = 120ms.
Maybe this latency should get hidden if we do emails async, but apparently, we don't for CreateChange, and regardless, 30ms seems very expensive for filling out a template. Maybe we're not compiling the template?
***
MailSoySauceProvider creates a SoyFileSet and runs compileTemplates()