Перейти к основному содержимому

tree

graphenectl tree [owner-ref] [--include-deleted] [--flows]

Дерево владения под одним владельцем: тот же рекурсивный обход по EntityOwner, которым идёт каскадное удаление, только читающий. Оно отвечает на вопрос «что умрёт вместе с этим владельцем».

Аргумент — полный owner-ref: run/x, stand/p, agent/vm-1 (агент владеет контейнерами на своей машине). Без аргумента команда печатает корни леса: каждую запись, которой никто не владеет, вместе с её поддеревом. Узлы идут в порядке ref; словарь kinds в корни не входит — это kinds.

Дерево прогона всегда полное: завершённый прогон — история, и его топология после сноса — ровно то, ради чего сюда приходят: машины и контейнеры показаны с phase: deleted, настолько назад, насколько retention namespace хранит их history.

$ graphenectl tree run/nightly-0917
run/nightly-0917
├─ agent/db-1 deleted 2d3h
│ └─ docker/pg deleted 2d3h
└─ agent/runner-1 deleted 2d3h

Дерево любого другого владельца — из живых записей; --include-deleted добавляет закончившие жизнь. Владелец, у которого не осталось детей, говорит об этом, а не печатает пустоту.

$ graphenectl tree stand/perf-nightly
stand/perf-nightly
└─ nothing live is owned by stand/perf-nightly

Примеры​

$ graphenectl tree run/run-e2e
run/run-e2e
├─ agent/vm-e2e ready 3m12s
│ └─ docker-volume/graphene-e2e-run-e2e ready 2m40s
└─ artifact/e2e-report ready 14s
$ graphenectl tree stand/perf-nightly
stand/perf-nightly
└─ k8s.compute…Instance/vm-1 ready 4d1h
└─ agent/edge-1 ready 4d1h

У каждого узла указаны фаза и возраст; колонки выровнены по всему дереву.

--flows подвешивает под каждую запись объявленные ею рёбра — цель, протокол с портом, подпись — стрелками вместо ветвей; пунктирная стрелка — системное ребро (агент↔сервер). Это топология, в том числе завершённого прогона:

$ graphenectl tree run/nightly-0917 --flows
run/nightly-0917
├─ agent/db-1 deleted 2d3h
│ ⇢ graphene-server otlp obs
│ └─ docker/pg deleted 2d3h
└─ agent/runner-1 deleted 2d3h
└─ docker/stroppy deleted 2d3h
→ agent/db-1 tcp:5432 postgres

-o json возвращает то же дерево вложенными узлами для скриптов; см. Формы вывода.