Files
rust-xmpp/docs/validation-logs-0.8.1/latency-before.json
T
wt e9329ccbb2
Test, build and publish / All tests and Linux binary (push) Failing after 23s
Test, build and publish / Container smoke test and Gitea publish (push) Skipped
- Исправлена задержка доставки MUC с растущим архивом: после каждого
сообщения
  больше не выполняется полный scan/rewrite архива для expiry. Очистка
  остаётся
  в maintenance и перед MAM-запросами; append и crash checkpoint до
  fanout сохранены.
- Неизменённые native config/persistent index не перезаписываются при
  каждом
  сообщении. Удалённые файлы восстанавливаются, ошибки экспорта
  повторяются.
- CSI больше не сохраняет SM snapshot при отсутствии изменения durable
  очереди.
  Изменённая очередь сохраняется до отправки; при ошибке записи очередь
  откатывается.
- Личные сообщения, IQ и входящая федерация к аккаунтам больше не
  захватывают
  общий MUC mutex, ожидая несвязанную работу с комнатными архивами.
- Добавлены регрессии native exports/archive scanning/CSI rollback и
  реальный
  TLS latency check в verify-local.sh, автоматически включённый и в CI.

Измерения и границы подтверждения:
[docs/MESSAGE-LATENCY.md](docs/MESSAGE-LATENCY.md).
Результаты итогового прогона:
[docs/VALIDATION-0.8.1.md](docs/VALIDATION-0.8.1.md).

- Личные сообщения и SM ACK больше не ждут сетевую отправку push.
  Уведомления
  отправляются через очередь1024 с максимум8параллельных маршрутов;
  worker
  и его задачи отменяются при завершении serve. Ошибки очереди/маршрута
  логируются.
- Offline сообщение сохраняется до публикации push, чтобы проснувшийся
  клиент
  мог сразу получить его. Подтверждена очередь при первом TLS stream
  push gateway.
- По умолчанию CSI считает важными bodyless OMEMO legacy/2, delivery
  receipts
  и chat markers. Явный список `csi_important_payloads` заменяет
  расширенные defaults.
  Низкоприоритетный headline по-прежнему буферизуется. Policy
  обновляется и при SM resume.
- Выбор адресатов и carbons фильтрует владельцев до захвата session
  mutex;
  зависшая сессия чужого аккаунта не задерживает этот путь. Duplicate SM
  ACK
  без изменения durable counters/queue не переписывает snapshot.
- Bind2 и MAM metadata IQ читают только первый/последний native record
  вместо
  сканирования всей истории. Индекс не требуется; recovery/лимиты записи
  сохранены.
- Добавлен `message-processing-slow`: обработка message дольше250мс,
  поля
  duration_ms/route, без payload/токенов. Это время обработки сервером,
  не peer receipt.
- Новые сетевые регрессии включены в verify-local.sh/GitHub CI.

Причины, изменение CSI policy, измерения и ограничения:
[docs/PERSONAL-MESSAGE-LATENCY.md](docs/PERSONAL-MESSAGE-LATENCY.md).
2026-10-21 11:20:09 +07:00

523 lines
14 KiB
JSON

{
"binary_sha256": "74882319fcb467dd1e1813ab61e85441ffd3dae2f9f7961b28fd98ec5da7c89a",
"scope": "loopback STARTTLS; isolated fixture; no production latency claim",
"cases": [
{
"mam_enabled": false,
"sm_enabled": true,
"rounds": 5,
"seeded_muc_archive_records": 0,
"active": {
"direct_peer": {
"samples": 5,
"median_ms": 5.10814599999776,
"p95_ms": 6.436508999968282,
"max_ms": 6.436508999968282,
"samples_ms": [
4.687508000017715,
5.018378999977813,
5.10814599999776,
5.499873000019306,
6.436508999968282
]
},
"direct_application_rtt": {
"samples": 5,
"median_ms": 10.949089000007461,
"p95_ms": 11.194100000011531,
"max_ms": 11.194100000011531,
"samples_ms": [
9.188771000026463,
9.251739999967867,
10.949089000007461,
11.097223999968264,
11.194100000011531
]
},
"muc_sender_echo": {
"samples": 5,
"median_ms": 6.3955159999977695,
"p95_ms": 10.028454999996939,
"max_ms": 10.028454999996939,
"samples_ms": [
5.6768890000284955,
6.070047000036993,
6.3955159999977695,
6.783154999993712,
10.028454999996939
]
},
"muc_peer": {
"samples": 5,
"median_ms": 7.227664999959416,
"p95_ms": 10.73728499994786,
"max_ms": 10.73728499994786,
"samples_ms": [
6.249474000014743,
6.710089000023345,
7.227664999959416,
7.554007000010188,
10.73728499994786
]
}
},
"inactive": {
"direct_peer": {
"samples": 5,
"median_ms": 4.543079999962174,
"p95_ms": 5.169351999995797,
"max_ms": 5.169351999995797,
"samples_ms": [
3.9885659999754353,
4.165818999979365,
4.543079999962174,
4.987367000012455,
5.169351999995797
]
},
"direct_application_rtt": {
"samples": 5,
"median_ms": 9.515092000015102,
"p95_ms": 12.47698700001365,
"max_ms": 12.47698700001365,
"samples_ms": [
8.106691999955729,
8.858637999992425,
9.515092000015102,
9.874779000028866,
12.47698700001365
]
},
"muc_sender_echo": {
"samples": 5,
"median_ms": 5.794529000013426,
"p95_ms": 7.275404999973034,
"max_ms": 7.275404999973034,
"samples_ms": [
5.51126799996382,
5.724920000034217,
5.794529000013426,
6.444504000000961,
7.275404999973034
]
},
"muc_peer": {
"samples": 5,
"median_ms": 6.479804000036893,
"p95_ms": 8.207588000004762,
"max_ms": 8.207588000004762,
"samples_ms": [
6.077395999966484,
6.479181999964112,
6.479804000036893,
7.2692859999961,
8.207588000004762
]
}
},
"urgent_flush": {
"samples": 1,
"median_ms": 4.576559000042835,
"p95_ms": 4.576559000042835,
"max_ms": 4.576559000042835,
"samples_ms": [
4.576559000042835
]
},
"headline_durably_buffered": true,
"activation_drained_queue": true,
"personal_archive_records": 0,
"muc_archive_records": 0,
"wire_body_deliveries": 43,
"status": "pass"
},
{
"mam_enabled": true,
"sm_enabled": true,
"rounds": 5,
"seeded_muc_archive_records": 0,
"active": {
"direct_peer": {
"samples": 5,
"median_ms": 8.454973000027621,
"p95_ms": 9.086850000016966,
"max_ms": 9.086850000016966,
"samples_ms": [
7.875873999978467,
7.919512999990275,
8.454973000027621,
8.744820000003983,
9.086850000016966
]
},
"direct_application_rtt": {
"samples": 5,
"median_ms": 15.02084100002321,
"p95_ms": 18.49304000000984,
"max_ms": 18.49304000000984,
"samples_ms": [
14.658381000003828,
15.0033279999775,
15.02084100002321,
16.241458000024522,
18.49304000000984
]
},
"muc_sender_echo": {
"samples": 5,
"median_ms": 8.695557000010012,
"p95_ms": 10.132943000030536,
"max_ms": 10.132943000030536,
"samples_ms": [
6.247895000001336,
8.190369000033115,
8.695557000010012,
8.886856000003718,
10.132943000030536
]
},
"muc_peer": {
"samples": 5,
"median_ms": 9.425391000036143,
"p95_ms": 11.220557999990888,
"max_ms": 11.220557999990888,
"samples_ms": [
6.928168999991158,
9.00288799999771,
9.425391000036143,
9.836486999972749,
11.220557999990888
]
}
},
"inactive": {
"direct_peer": {
"samples": 5,
"median_ms": 8.574552000027325,
"p95_ms": 11.412799000027007,
"max_ms": 11.412799000027007,
"samples_ms": [
7.429673999979514,
8.434421999993447,
8.574552000027325,
10.991448000027049,
11.412799000027007
]
},
"direct_application_rtt": {
"samples": 5,
"median_ms": 16.801955000005364,
"p95_ms": 20.960896000019602,
"max_ms": 20.960896000019602,
"samples_ms": [
15.289625999969303,
16.07350099999394,
16.801955000005364,
19.067943000038667,
20.960896000019602
]
},
"muc_sender_echo": {
"samples": 5,
"median_ms": 9.673966000036671,
"p95_ms": 10.545491000016227,
"max_ms": 10.545491000016227,
"samples_ms": [
8.954777999974795,
9.244574000035755,
9.673966000036671,
10.407988999986628,
10.545491000016227
]
},
"muc_peer": {
"samples": 5,
"median_ms": 10.7329940000227,
"p95_ms": 11.54250500002263,
"max_ms": 11.54250500002263,
"samples_ms": [
9.77221699997699,
10.012581000012233,
10.7329940000227,
11.414449999961107,
11.54250500002263
]
}
},
"urgent_flush": {
"samples": 1,
"median_ms": 8.784937999962494,
"p95_ms": 8.784937999962494,
"max_ms": 8.784937999962494,
"samples_ms": [
8.784937999962494
]
},
"headline_durably_buffered": true,
"activation_drained_queue": true,
"personal_archive_records": 42,
"muc_archive_records": 10,
"wire_body_deliveries": 43,
"status": "pass"
},
{
"mam_enabled": true,
"sm_enabled": true,
"rounds": 5,
"seeded_muc_archive_records": 1000,
"active": {
"direct_peer": {
"samples": 5,
"median_ms": 7.590319999962958,
"p95_ms": 8.892007999975249,
"max_ms": 8.892007999975249,
"samples_ms": [
5.31427799995754,
6.9214119999969625,
7.590319999962958,
7.624421999992137,
8.892007999975249
]
},
"direct_application_rtt": {
"samples": 5,
"median_ms": 13.376056000026892,
"p95_ms": 15.464272999963669,
"max_ms": 15.464272999963669,
"samples_ms": [
12.23329399999784,
13.25195099997245,
13.376056000026892,
14.078856999958589,
15.464272999963669
]
},
"muc_sender_echo": {
"samples": 5,
"median_ms": 31.94280399998206,
"p95_ms": 35.83487499997773,
"max_ms": 35.83487499997773,
"samples_ms": [
30.683405999980096,
31.05138800003715,
31.94280399998206,
34.427220999987185,
35.83487499997773
]
},
"muc_peer": {
"samples": 5,
"median_ms": 32.718170999999074,
"p95_ms": 36.99477299994669,
"max_ms": 36.99477299994669,
"samples_ms": [
31.32484000002478,
31.708390999995117,
32.718170999999074,
35.15474099998528,
36.99477299994669
]
}
},
"inactive": {
"direct_peer": {
"samples": 5,
"median_ms": 6.955795000010312,
"p95_ms": 7.9194580000034875,
"max_ms": 7.9194580000034875,
"samples_ms": [
6.15931200002251,
6.666912000014236,
6.955795000010312,
7.675652999978411,
7.9194580000034875
]
},
"direct_application_rtt": {
"samples": 5,
"median_ms": 13.159411000003729,
"p95_ms": 15.27061000001595,
"max_ms": 15.27061000001595,
"samples_ms": [
12.274962999981653,
13.057566999975734,
13.159411000003729,
14.08330199996044,
15.27061000001595
]
},
"muc_sender_echo": {
"samples": 5,
"median_ms": 34.13865300001362,
"p95_ms": 36.99340499997561,
"max_ms": 36.99340499997561,
"samples_ms": [
30.982952999977442,
32.71812099995941,
34.13865300001362,
35.38880100001052,
36.99340499997561
]
},
"muc_peer": {
"samples": 5,
"median_ms": 36.06873300003599,
"p95_ms": 38.31650299997591,
"max_ms": 38.31650299997591,
"samples_ms": [
33.48175599995784,
34.2965520000007,
36.06873300003599,
36.353186000042115,
38.31650299997591
]
}
},
"urgent_flush": {
"samples": 1,
"median_ms": 12.115028999971855,
"p95_ms": 12.115028999971855,
"max_ms": 12.115028999971855,
"samples_ms": [
12.115028999971855
]
},
"headline_durably_buffered": true,
"activation_drained_queue": true,
"personal_archive_records": 42,
"muc_archive_records": 1010,
"wire_body_deliveries": 43,
"status": "pass"
},
{
"mam_enabled": true,
"sm_enabled": true,
"rounds": 5,
"seeded_muc_archive_records": 10000,
"active": {
"direct_peer": {
"samples": 5,
"median_ms": 9.04404400000658,
"p95_ms": 12.927059999981338,
"max_ms": 12.927059999981338,
"samples_ms": [
8.594286000004558,
9.04279899998528,
9.04404400000658,
10.732668000002832,
12.927059999981338
]
},
"direct_application_rtt": {
"samples": 5,
"median_ms": 18.81452300000319,
"p95_ms": 21.198468999955367,
"max_ms": 21.198468999955367,
"samples_ms": [
17.06366100000878,
17.834419999985585,
18.81452300000319,
18.89581300002874,
21.198468999955367
]
},
"muc_sender_echo": {
"samples": 5,
"median_ms": 258.5251909999897,
"p95_ms": 269.03445800002146,
"max_ms": 269.03445800002146,
"samples_ms": [
243.74590799999396,
244.56996899999695,
258.5251909999897,
260.5109279999738,
269.03445800002146
]
},
"muc_peer": {
"samples": 5,
"median_ms": 259.47216499997694,
"p95_ms": 269.0669140000068,
"max_ms": 269.0669140000068,
"samples_ms": [
244.58446500000264,
245.61970199999905,
259.47216499997694,
261.3186459999497,
269.0669140000068
]
}
},
"inactive": {
"direct_peer": {
"samples": 5,
"median_ms": 9.321043999989342,
"p95_ms": 11.691385000005994,
"max_ms": 11.691385000005994,
"samples_ms": [
9.130955999978596,
9.257138999998915,
9.321043999989342,
9.393109000029654,
11.691385000005994
]
},
"direct_application_rtt": {
"samples": 5,
"median_ms": 22.537706999969487,
"p95_ms": 22.7979030000256,
"max_ms": 22.7979030000256,
"samples_ms": [
18.378415999961817,
18.92694800000072,
22.537706999969487,
22.614556000007724,
22.7979030000256
]
},
"muc_sender_echo": {
"samples": 5,
"median_ms": 257.6139750000266,
"p95_ms": 278.14462699996056,
"max_ms": 278.14462699996056,
"samples_ms": [
248.2455429999959,
251.84251700000004,
257.6139750000266,
262.41991000000553,
278.14462699996056
]
},
"muc_peer": {
"samples": 5,
"median_ms": 258.46415800003797,
"p95_ms": 278.8930929999651,
"max_ms": 278.8930929999651,
"samples_ms": [
250.01428399997394,
253.1065140000237,
258.46415800003797,
263.1856349999566,
278.8930929999651
]
}
},
"urgent_flush": {
"samples": 1,
"median_ms": 11.461830000030204,
"p95_ms": 11.461830000030204,
"max_ms": 11.461830000030204,
"samples_ms": [
11.461830000030204
]
},
"headline_durably_buffered": true,
"activation_drained_queue": true,
"personal_archive_records": 42,
"muc_archive_records": 10010,
"wire_body_deliveries": 43,
"status": "pass"
}
]
}