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
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Small follow up from #8120 – I mistakenly thought subscribing to commit stream was sufficient because I thought it built upon the listener, but turns out it wasn't so. This fix merges in listener stream with _keepalive.
What to review
The review procedure from #8120 should still hold water:
Navigate to a document (A) in the Studio
Make sure there is a single event source set up with the tag sanity.studio.document.pair-listener
Navigate to another document (B)
Make sure there is a single new event source set up with the tag sanity.studio.document.pair-listener
Go back to document A before 10s has passed
Verify that no request was made with the tag sanity.studio.document.pair-listener
Stay on document A for more than 10s
Verify that the listener connection made for document B is now shut down (timing panel no longer says "Caution: request is not finished yet!")
Now, going back to B should trigger a new listener connection again.
efps — editor "frames per second". The number of updates assumed to be possible within a second.
Derived from input latency. efps = 1000 / input_latency
Detailed information
🏠 Reference result
The performance result of sanity@latest
Benchmark
latency
p75
p90
p99
blocking time
test duration
article (title)
37ms
54ms
64ms
546ms
836ms
10.0s
article (body)
13ms
15ms
17ms
163ms
188ms
4.7s
article (string inside object)
36ms
38ms
40ms
79ms
128ms
6.4s
article (string inside array)
42ms
44ms
51ms
311ms
375ms
7.3s
recipe (name)
18ms
19ms
21ms
29ms
0ms
6.7s
recipe (description)
16ms
18ms
21ms
32ms
0ms
4.4s
recipe (instructions)
5ms
7ms
8ms
13ms
0ms
3.0s
synthetic (title)
54ms
57ms
64ms
112ms
246ms
12.5s
synthetic (string inside object)
56ms
60ms
70ms
486ms
1039ms
8.9s
🧪 Experiment result
The performance result of this branch
Benchmark
latency
p75
p90
p99
blocking time
test duration
article (title)
37ms
39ms
56ms
422ms
159ms
9.7s
article (body)
13ms
15ms
19ms
70ms
184ms
4.7s
article (string inside object)
34ms
35ms
39ms
109ms
231ms
6.4s
article (string inside array)
38ms
41ms
47ms
82ms
132ms
6.6s
recipe (name)
18ms
20ms
22ms
38ms
0ms
6.3s
recipe (description)
15ms
16ms
19ms
36ms
0ms
4.2s
recipe (instructions)
5ms
7ms
8ms
9ms
0ms
3.0s
synthetic (title)
50ms
53ms
59ms
292ms
509ms
12.3s
synthetic (string inside object)
51ms
53ms
64ms
278ms
833ms
8.3s
📚 Glossary
column definitions
benchmark — the name of the test, e.g. "article", followed by the label of the field being measured, e.g. "(title)".
latency — the time between when a key was pressed and when it was rendered. derived from a set of samples. the median (p50) is shown to show the most common latency.
p75 — the 75th percentile of the input latency in the test run. 75% of the sampled inputs in this benchmark were processed faster than this value. this provides insight into the upper range of typical performance.
p90 — the 90th percentile of the input latency in the test run. 90% of the sampled inputs were faster than this. this metric helps identify slower interactions that occurred less frequently during the benchmark.
p99 — the 99th percentile of the input latency in the test run. only 1% of sampled inputs were slower than this. this represents the worst-case scenarios encountered during the benchmark, useful for identifying potential performance outliers.
blocking time — the total time during which the main thread was blocked, preventing user input and UI updates. this metric helps identify performance bottlenecks that may cause the interface to feel unresponsive.
test duration — how long the test run took to complete.
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Description
Small follow up from #8120 – I mistakenly thought subscribing to commit stream was sufficient because I thought it built upon the listener, but turns out it wasn't so. This fix merges in listener stream with _keepalive.
What to review
The review procedure from #8120 should still hold water:
sanity.studio.document.pair-listener
sanity.studio.document.pair-listener
sanity.studio.document.pair-listener
Notes for release
n/a