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).
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 |
метаданные версии |