тензорный поток :: сервировка :: ServableStateMonitor
#include <servable_state_monitor.h>
Утилита, которая прослушивает EventBus <ServableState> и отслеживает состояние каждого обслуживаемого объекта, упомянутого на шине.
Резюме
Предназначен случай использования для отслеживания состояния servables в диспетчере .
Предлагает интерфейс для запроса доступных состояний. Может быть полезен как основа для дашбордов, а также для тестирования менеджера.
ВАЖНО: Вы должны создать этот монитор перед аранжировать для событий , которые будут опубликованы на автобусе событий, например , давая шину событий в диспетчере .
Конструкторы и деструкторы | |
---|---|
ServableStateMonitor (EventBus< ServableState > *bus, const Options & options) | |
~ServableStateMonitor () |
Публичные типы | |
---|---|
BoundedLog | с использованиемstd::deque< ServableStateAndTime > |
NotifyFn | с использованиемstd::function< void(const ServableState &)> |
ServableMap | с использованиемstd::map< ServableName, VersionMap > |
ServableName | с использованиемstring |
ServableSet | с использованиемstd::set< ServableName > |
ServableStateNotifierFn | с использованиемstd::function< void(bool reached_goal_state, const std::map< ServableId, ServableState::ManagerState > &states_reached)> Уведомляет, когда все обслуживаемые объекты достигли 'goal_state'. |
Version | с использованиемint64 |
VersionMap | с использованиемstd::map< Version, ServableStateAndTime, std::greater< Version >> |
Публичные функции | |
---|---|
ForgetUnloadedServableStates () | void Удаляет все обслуживаемые версии из ServableMap, состояния которых перешли в kEnd. |
GetAllServableStates () | ServableMap Возвращает текущие состояния всех отслеживаемых версий всех обслуживаемых объектов. |
GetAvailableServableStates () | ServableSet |
GetBoundedLog () | BoundedLog Возвращает текущий ограниченный журнал обработанных событий обслуживаемого состояния. |
GetLiveServableStates () | ServableMap Возвращает текущие состояния всех версий всех обслуживаемых объектов, которые не перешли в состояние ServableState :: ManagerState :: kEnd. |
GetState (const ServableId & servable_id) | optional< ServableState > Возвращает текущее состояние одного обслуживаемого объекта или nullopt, если этот обслуживаемый объект не отслеживается. |
GetStateAndTime (const ServableId & servable_id) | optional< ServableStateAndTime > Возвращает текущее состояние и время одного обслуживаемого объекта или nullopt, если этот обслуживаемый объект не отслеживается. |
GetVersionStates (const string & servable_name) | VersionMap Возвращает текущие состояния всех отслеживаемых версий указанного обслуживаемого объекта, если таковые имеются. |
Notify (const NotifyFn & notify_fn) | void |
NotifyWhenServablesReachState (const std::vector< ServableRequest > & servables, ServableState::ManagerState goal_state, const ServableStateNotifierFn & notifier_fn) | void |
WaitUntilServablesReachState (const std::vector< ServableRequest > & servables, ServableState::ManagerState goal_state, std::map< ServableId, ServableState::ManagerState > *states_reached) TF_MUST_USE_RESULT | bool Подобно NotifyWhenServablesReachState (...), но вместо уведомления мы ждем, пока не будет достигнуто 'goal_state' или kEnd. |
Структуры | |
---|---|
tensorflow :: служит :: ServableStateMonitor :: Варианты | |
tensorflow :: служит :: ServableStateMonitor :: ServableStateAndTime |
Публичные типы
BoundedLog
std::deque< ServableStateAndTime > BoundedLog
NotifyFn
std::function< void(const ServableState &)> NotifyFn
ServableMap
std::map< ServableName, VersionMap > ServableMap
ServableName
string ServableName
ServableSet
std::set< ServableName > ServableSet
ServableStateNotifierFn
std::function< void(bool reached_goal_state, const std::map< ServableId, ServableState::ManagerState > &states_reached)> ServableStateNotifierFn
Уведомляет, когда все обслуживаемые объекты достигли 'goal_state'.
Servables можно указать двумя способами:
- Как конкретные версии имени обслуживаемого потока. В этом случае мы проверяем, достигла ли конкретная версия "goal_state" или kEnd.
- В качестве последних версий, и в этом случае любая версия для имени обслуживаемого потока будет сопоставляться с 'goal_state' или kEnd.
Мы вызываем notifier_fn, когда выполняются оба условия -
- Все конкретные обслуживаемые запросы достигли значения 'goal_state' или kEnd.
- Все последние обслуживаемые запросы достигли target_state или kEnd. Notifier_fn будет вызываться только один раз, а не повторно.
Аргумент «достигнутое_цели_состояния» устанавливается как истина, если и только если все конкретные сервабельные объекты достигли «состояния_цели». Таким образом, вызывающие абоненты должны проверить, что «selected_goal_state» истинно в «notifier_fn».
Аргумент 'States_reached' заполняется идентификатором обслуживаемого объекта и состоянием, которого он достиг. Состояние будет 'goal_state', если 'completed_goal_state' истинно, иначе оно будет содержать один или несколько обслуживаемых объектов в состоянии kEnd. Для последних обслуживаемых запросов обслуживаемый идентификатор будет идентификатором обслуживаемого в потоке, достигшего состояния.
Версия
int64 Version
VersionMap
std::map< Version, ServableStateAndTime, std::greater< Version >> VersionMap
Публичные функции
ForgetUnloadedServableStates
void ForgetUnloadedServableStates()
Удаляет все обслуживаемые версии из ServableMap, состояния которых перешли в kEnd.
GetAllServableStates
ServableMap GetAllServableStates()
Возвращает текущие состояния всех отслеживаемых версий всех обслуживаемых объектов.
GetAvailableServableStates
ServableSet GetAvailableServableStates()
GetBoundedLog
BoundedLog GetBoundedLog()
Возвращает текущий ограниченный журнал обработанных событий обслуживаемого состояния.
GetLiveServableStates
ServableMap GetLiveServableStates()
Возвращает текущие состояния всех версий всех обслуживаемых объектов, которые не перешли в состояние ServableState :: ManagerState :: kEnd.
GetState
optional< ServableState > GetState( const ServableId & servable_id )
Возвращает текущее состояние одного обслуживаемого объекта или nullopt, если этот обслуживаемый объект не отслеживается.
GetStateAndTime
optional< ServableStateAndTime > GetStateAndTime( const ServableId & servable_id )
Возвращает текущее состояние и время одного обслуживаемого объекта или nullopt, если этот обслуживаемый объект не отслеживается.
GetVersionStates
VersionMap GetVersionStates( const string & servable_name )
Возвращает текущие состояния всех отслеживаемых версий указанного обслуживаемого объекта, если таковые имеются.
Уведомлять
void Notify( const NotifyFn & notify_fn )
NotifyWhenServablesReachState
void NotifyWhenServablesReachState( const std::vector< ServableRequest > & servables, ServableState::ManagerState goal_state, const ServableStateNotifierFn & notifier_fn )
ServableStateMonitor
ServableStateMonitor( EventBus< ServableState > *bus, const Options & options )
WaitUntilServablesReachState
bool WaitUntilServablesReachState( const std::vector< ServableRequest > & servables, ServableState::ManagerState goal_state, std::map< ServableId, ServableState::ManagerState > *states_reached ) TF_MUST_USE_RESULT
Подобно NotifyWhenServablesReachState (...), но вместо уведомления мы ждем, пока не будет достигнуто 'goal_state' или kEnd.
Чтобы понять возвращаемое значение и параметр возврата «states_reached», прочтите документацию по NotifyWhenServablesReachState (...).
~ ServableStateMonitor
virtual ~ServableStateMonitor()