mirror of
https://github.com/Vateron-Media/XC_VM.git
synced 2026-10-28 11:03:18 +01:00
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).
93 lines
3.8 KiB
Markdown
93 lines
3.8 KiB
Markdown
# Служба диагностики
|
|
|
|
`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`), обрабатывает поля вывода и очищает строки журнала после экспорта.
|
|
|
|
Возвращаемая форма:
|
|
|
|
```php
|
|
[
|
|
'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` |метаданные версии|
|