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

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