botruntime
Эксплуатация

Трейсы, доступ и удаление

Какие данные сохраняет Cloud trace, кто их видит и как их удалить.

Cloud trace сохраняет данные, которые runtime бота отправил для диагностики: форму исполнения, attributes, payload, tool input/output и exception упавшего span. Платформа не определяет, какие значения разработчик считает ПДн или секретом.

Что сохраняется

Платформа сохраняет:

  • имя и статус runtime span;
  • модель и провайдер;
  • число входных и выходных токенов;
  • задержка модели и общая длительность;
  • номер итерации агентного цикла;
  • имя и статус инструмента;
  • имя воркфлоу;
  • HTTP status и категория ошибки;
  • имя, code, message и stack runtime exception;
  • канал и alias интеграции;
  • полные сохранённые attributes span и platform payload;
  • tool input/output;
  • LLM instructions, messages, tools и response;
  • conversation, user и message correlation IDs.

Типизированные metadata остаются удобной проекцией для фильтров и интерфейса, но не заменяют и не очищают сохранённые attributes/payload. Hosted store не является архивом всего OTLP envelope: resource/scope metadata, events и status message вне этого контракта не сохраняются.

Ответственность за содержимое

Содержимое трейса принадлежит разработчику бота. Если runtime отправил текст сообщения, документ, prompt, token или ПДн, значение будет сохранено и доступно авторизованным участникам workspace. Платформа не редактирует и не скрывает такие поля.

Не отправляйте в telemetry данные, которые не должны храниться. Если они уже попали в trace store, удалите трейсы бота.

Лимиты ingestion

Один OTLP-запрос может содержать до 16 resourceSpans, 64 scopeSpans и 256 spans. Размер body ограничен 48 MiB, число attributes одного resource или span — 64. Превышение лимита возвращает 413 без частичной записи.

Отдельные хранилища

Сообщения, event payloads и application logs хранятся отдельно и имеют собственные правила доступа и retention. Удаление трейсов не удаляет эти данные.

Не записывайте чувствительные данные в console.log() и произвольные события. Trace store не очищает хранилища, которыми управляет код бота.

Локальная диагностика

Inspector внутри brt dev и hosted trace API показывают сохранённые attributes/payload, включая tool input/output. Доступ к ним следует считать эквивалентным доступу к runtime-логам.

Считайте локальный trace чувствительным артефактом:

  • не коммитьте дампы;
  • не отправляйте их в общий telemetry endpoint;
  • удаляйте после диагностики;
  • перед публикацией проверяйте содержимое вручную.

Чтение через CLI

brt traces --conversation-id "$CONVERSATION_ID"

Cloud API требует ограниченную область: conversation, точный trace ID либо workflow/action вместе с обязательным since. Списки используют pageSize и nextToken. Фильтры по status, workflow, action и времени применяются до пагинации.

brt conversations list показывает ограниченные метаданные. brt conversations show <id> строит компактный timeline. brt traces печатает tool input/output и runtime exception; с --verbose — stack и полные attributes/payload без тяжёлого LLM-контента. Флаг --include-llm добавляет сохранённые instructions, messages, tools и model response в human- и JSON-вывод. Флаг управляет только отображением: runtime и hosted ingestion сохраняют эти поля независимо от него.

Hosted evals

Eval store сохраняет только операционные метаданные: ID, tags, статусы, assertion kind, score, duration, stable error code/phase и opaque correlation conversationId/traceId. Prompts, сообщения, model responses, evidence, stack trace и raw errors в сам eval store не попадают. Entry хранит conversationId/traceId, по которым exception читается из trace store.

Каждый eval run становится недоступен через 30 дней. Фоновая очистка удаляет истёкшие runs и связанные результаты.

Эта же проекция используется на экране Evals в консоли. Инспектор показывает вердикты, тайминги и ссылку на conversation trace, но не имеет скрытого доступа к содержимому диалога. CLI печатает эквивалентную команду brt traces --conversation-id <id>.

Доступ

Production-запрос получает область из ключа бота. Dev-запрос использует PAT и проверенный dev target. Консоль дополнительно проверяет членство пользователя в воркспейсе и принадлежность бота.

Глобальный переключатель Production / Development меняет bot scope всех разделов проекта. Связь окружений используется только для выбора runtime и не расширяет чтение одного bot_id на данные другого.

Не передавайте workspace authority через произвольный query-параметр. Scope определяется токеном и выбранным target.

Retention

Трейсы предназначены для диагностики, а не для постоянного хранения прикладных данных. Не стройте бизнес-логику на наличии trace row.

Если проекту нужен собственный журнал, создайте таблицу с явной схемой, retention и правилами доступа.

Owner или admin workspace может удалить все трейсы выбранного бота:

DELETE /v1/admin/workspaces/{workspaceId}/bots/{botId}/traces

Операционный trace-maintenance продолжает поддерживать batch-удаление по сроку хранения. Оба механизма удаляют trace rows физически и не затрагивают другие боты.

Дальше

On this page