Files
XC_VM/docs/ru/guides/diagnostics-api.md
T
Divarion_D d4da90f37b fix(docs): translate bold spans atomically and auto-prune orphaned ru pages
The line-by-line web translator reordered words inside `**bold**` spans and
misplaced/dropped the markers, producing `**LB` or `****` (empty bold). Mask
each `**...**` as ONE atomic sentinel: translate the inner text on its own,
then store the whole balanced `**inner**` — the engine never sees the markers
and cannot reorder or collapse them. Also harden the anthropic prompt to keep
emphasis balanced.

Auto-prune: after translating, delete generated docs/ru files whose docs/en
source no longer exists (renamed/removed) and drop now-empty dirs, so the tree
mirrors docs/en 1:1 (removes the stale development/modules.md and
guides/geoip-and-device-detection.md).

Bump PROMPT_VERSION to 6 to invalidate the contaminated cache and regenerate
docs/ru (0 broken bold spans remaining, aside from pre-existing multi-line
bold that spans a soft line break).
2026-08-27 18:07:43 +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 метаданные версии