텐서플로:: 피복재:: ServableStateMonitor
#include <servable_state_monitor.h>
EventBus<ServableState>를 수신 대기하고 버스에서 언급된 각 servable의 상태를 추적하는 유틸리티입니다.
요약
의도 된 사용 사례는에 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)> 모든 servable이 'goal_state'에 도달했을 때 알립니다. |
Version | 사용int64 |
VersionMap | 사용std::map< Version, ServableStateAndTime, std::greater< Version >> |
공공 기능 | |
---|---|
ForgetUnloadedServableStates () | void 상태가 kEnd로 전환된 ServableMap에서 모든 제공 가능한 버전을 제거합니다. |
GetAllServableStates () | ServableMap 모든 servable의 추적된 모든 버전의 현재 상태를 반환합니다. |
GetAvailableServableStates () | ServableSet |
GetBoundedLog () | BoundedLog 처리된 제공 가능한 상태 이벤트의 현재 제한된 로그를 반환합니다. |
GetLiveServableStates () | ServableMap ServableState::ManagerState::kEnd 상태로 전환되지 않은 모든 servable 버전의 현재 상태를 반환합니다. |
GetState (const ServableId & servable_id) | optional< ServableState > 한 servable의 현재 상태를 반환하거나 해당 servable이 추적되지 않는 경우 nullopt를 반환합니다. |
GetStateAndTime (const ServableId & servable_id) | optional< ServableStateAndTime > 한 servable의 현재 상태와 시간을 반환하거나 해당 servable이 추적되지 않는 경우 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 |
공개 유형
경계 로그
std::deque< ServableStateAndTime > BoundedLog
알림Fn
std::function< void(const ServableState &)> NotifyFn
ServableMap
std::map< ServableName, VersionMap > ServableMap
제공 가능한 이름
string ServableName
ServableSet
std::set< ServableName > ServableSet
ServableStateNotifierFn
std::function< void(bool reached_goal_state, const std::map< ServableId, ServableState::ManagerState > &states_reached)> ServableStateNotifierFn
모든 servable이 'goal_state'에 도달했을 때 알립니다.
Servable은 두 가지 방법으로 지정할 수 있습니다.
- 제공 가능한 스트림 이름의 특정 버전으로. 이 경우 특정 버전이 'goal_state' 또는 kEnd에 도달했는지 확인합니다.
- 최신 버전으로, 이 경우 제공 가능한 스트림 이름의 모든 버전은 'goal_state' 또는 kEnd와 일치합니다.
두 조건이 모두 참일 때 'notifier_fn'을 호출합니다.
- 모든 특정 제공 가능한 요청이 'goal_state' 또는 kEnd에 도달했습니다.
- 모든 최근 제공 가능한 요청이 'goal_state' 또는 kEnd에 도달했습니다. 'notifier_fn'은 한 번만 호출되고 반복적으로 호출되지 않습니다.
'reached_goal_state' 인수는 모든 특정 servable이 'goal_state'에 도달한 경우 true로 설정됩니다. 따라서 호출자는 'notifier_fn'에서 'reached_goal_state'가 true인지 확인해야 합니다.
'states_reached' 인수는 제공 가능한 ID와 도달한 상태로 채워집니다. 'reached_goal_state'가 true이면 상태는 'goal_state'가 되고, 그렇지 않으면 kEnd 상태에 있는 하나 이상의 servable이 포함됩니다. 최신 제공 가능 요청의 경우 제공 가능 ID는 상태에 도달한 스트림의 제공 가능 ID가 됩니다.
버전
int64 Version
버전 맵
std::map< Version, ServableStateAndTime, std::greater< Version >> VersionMap
공공 기능
ForgetUnloadedServableStates
void ForgetUnloadedServableStates()
상태가 kEnd로 전환된 ServableMap에서 모든 제공 가능한 버전을 제거합니다.
GetAllServableStates
ServableMap GetAllServableStates()
모든 servable의 추적된 모든 버전의 현재 상태를 반환합니다.
GetAvailableServableStates
ServableSet GetAvailableServableStates()
GetBoundedLog
BoundedLog GetBoundedLog()
처리된 제공 가능한 상태 이벤트의 현재 제한된 로그를 반환합니다.
GetLiveServableStates
ServableMap GetLiveServableStates()
ServableState::ManagerState::kEnd 상태로 전환되지 않은 모든 servable 버전의 현재 상태를 반환합니다.
상태 가져오기
optional< ServableState > GetState( const ServableId & servable_id )
한 servable의 현재 상태를 반환하거나 해당 servable이 추적되지 않는 경우 nullopt를 반환합니다.
상태 및 시간 가져오기
optional< ServableStateAndTime > GetStateAndTime( const ServableId & servable_id )
한 servable의 현재 상태와 시간을 반환하거나 해당 servable이 추적되지 않는 경우 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()