Files
XC_VM/docs/ru/guides/diagnostics-api.md
T
Divarion_D dbf535bcc5 docs(translate): robust {N} sentinels + possessive handling; regenerate ru
Fix Markdown-mangling artifacts the free web engine (yandex) produced in the
committed docs/ru, and regenerate the whole tree cleanly (0 fallbacks):

- Sentinel format @@N@@ -> {N}. MT engines are trained to preserve curly
  format-string placeholders, so {N} survives code-heavy lines where @@N@@ (and
  ZZZ…ZZZ, which also duplicated its Z) were split/moved — e.g. the stray
  "@0@@" in the FAQ and "load balancerZ" in the README are gone.
- Possessive: a trailing English `'s` is consumed INTO the masked span and
  dropped on restore. Every sentinel format breaks when a bare `'s` sits right
  after it, and Russian has no possessive `'s`.
- Validate + retry: after restore, any leftover brace fragment triggers a retry
  (the engine is non-deterministic); after a few failures the line stays English
  so a broken token is never emitted.
- Glossary += KeyDB, yt-dlp, Ubuntu, iptables, MAGSCAN.

Regenerated docs/ru (37 files, translators/yandex): no residual sentinels,
mkdocs build --strict clean.
2026-08-21 16:31:01 +03:00

3.8 KiB

Служба диагностики

DiagnosticsService предоставляет помощников по оперативной диагностике:

  • Проверка SSL-сертификата
  • проверка совместимости кодеков
  • экспорт/отправка журнала панели управления
  • обнаружение IP-адреса внешнего API

Методы

getCertificateInfo(?string $certificate = null): ?array

Возвращает сведения о сертификате (serial, expiration, subject, path).

Если значение $certificate равно null, путь к сертификату автоматически определяется из конфигурации SSL nginx. Возвращает null, если файл отсутствует или не удалось выполнить синтаксический анализ OpenSSL.


checkCompatibility(array|string $data, bool $allowHEVC = false): bool

Проверяет, совместимы ли медиакодеки с ограничениями проигрывателя. Принимает полезную нагрузку FFProbe в виде массива или строки JSON.

Принятые по умолчанию кодеки включают:

  • видео: h264, vp8, vp9, ogg, av1
  • аудио: aac, libfdk_aac, opus, vorbis, pcm_s16le, mp2, mp3, flac

При $allowHEVC=true допускаются значения hevc/h265 и ac3.


downloadPanelLogs(object $db): array

Извлекает до 1000 последних строк из panel_logs (исключая epg), обрабатывает поля вывода и очищает строки журнала после экспорта.

Возвращаемая форма:

[
  'errors' => [...],
  'version' => '...'
]

Выдает ошибку Exception при сбое запроса к базе данных.


submitPanelLogs(object $db): string|false

Отправляет журналы панели в конечную точку удаленной диагностики и очищает отправленные журналы. Возвращает строку ответа в случае успеха, false в случае сбоя (например, не удается разрешить IP-адрес API). Используется для поддержки /телеметрии рабочих процессов.


panel_logs Форма (используемые поля)

Колонка Тип Значение
type строка тип события
log_message строка основное сообщение
log_extra строка дополнительный контекст
line инт исходная строка
date инт Временная метка UNIX

getPIDs(int $rServerID): array

Анализирует информацию о системном процессе из ответа API сервера. Возвращает структурированные данные о процессе для мониторинга.


getNVENCProcesses(int $rServerID): array

Извлекает данные процесса GPU (NVENC) из информации о графическом процессоре сервера. Используется для диагностики кодирования на графическом процессоре.


Связанные файлы

Файл Цель
src/Core/Diagnostics/DiagnosticsService.php методы диагностики
src/Core/Logging/Logger.php записывает журналы
src/Core/Config/AppConfig.php метаданные версии