dòng chảy :: phục vụ :: ServableStateMonitor
#include <servable_state_monitor.h>
Một tiện ích lắng nghe EventBus <ServableState> và theo dõi trạng thái của từng dịch vụ được đề cập trên bus.
Bản tóm tắt
Trường hợp mục đích sử dụng là để theo dõi các bang servables trong quản lý .
Cung cấp một giao diện để truy vấn các trạng thái có thể phục vụ. Nó có thể hữu ích làm cơ sở cho trang tổng quan, cũng như để kiểm tra người quản lý.
QUAN TRỌNG: Bạn phải tạo màn hình này trước khi bố trí cho các sự kiện được công bố trên xe buýt sự kiện, ví dụ như đưa ra các xe buýt sự kiện để một Giám đốc .
Người xây dựng và Người phá hủy | |
---|---|
ServableStateMonitor (EventBus< ServableState > *bus, const Options & options) | |
~ServableStateMonitor () |
Các loại công khai | |
---|---|
BoundedLog | sử dụngstd::deque< ServableStateAndTime > |
NotifyFn | sử dụngstd::function< void(const ServableState &)> |
ServableMap | sử dụngstd::map< ServableName, VersionMap > |
ServableName | sử dụngstring |
ServableSet | sử dụngstd::set< ServableName > |
ServableStateNotifierFn | sử dụngstd::function< void(bool reached_goal_state, const std::map< ServableId, ServableState::ManagerState > &states_reached)> Thông báo khi tất cả các dịch vụ đã đạt đến 'mục tiêu_state'. |
Version | sử dụngint64 |
VersionMap | sử dụngstd::map< Version, ServableStateAndTime, std::greater< Version >> |
Chức năng công cộng | |
---|---|
ForgetUnloadedServableStates () | void Xóa tất cả các phiên bản có thể phục vụ khỏi Bản đồ dịch vụ có các trạng thái đã chuyển sang kEnd. |
GetAllServableStates () | ServableMap Trả về trạng thái hiện tại của tất cả các phiên bản được theo dõi của tất cả các dịch vụ. |
GetAvailableServableStates () | ServableSet |
GetBoundedLog () | BoundedLog Trả về nhật ký giới hạn hiện tại của các sự kiện trạng thái dịch vụ được xử lý. |
GetLiveServableStates () | ServableMap Trả về trạng thái hiện tại của tất cả các phiên bản của tất cả các dịch vụ chưa chuyển sang trạng thái ServableState :: ManagerState :: kEnd. |
GetState (const ServableId & servable_id) | optional< ServableState > Trả về trạng thái hiện tại của một dịch vụ hoặc nullopt nếu dịch vụ đó không được theo dõi. |
GetStateAndTime (const ServableId & servable_id) | optional< ServableStateAndTime > Trả về trạng thái và thời gian hiện tại của một dịch vụ hoặc nullopt nếu dịch vụ đó không được theo dõi. |
GetVersionStates (const string & servable_name) | VersionMap Trả về trạng thái hiện tại của tất cả các phiên bản được theo dõi của dịch vụ đã cho, nếu có. |
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 Tương tự như NotifyWhenServablesReachState (...), nhưng thay vì thông báo, chúng ta đợi cho đến khi đạt được 'mục tiêu_state' hoặc kEnd. |
Cấu trúc | |
---|---|
tensorflow :: phục vụ :: ServableStateMonitor :: Tùy chọn | |
tensorflow :: phục vụ :: ServableStateMonitor :: ServableStateAndTime |
Các loại công khai
BoundLog
std::deque< ServableStateAndTime > BoundedLog
NotifyFn
std::function< void(const ServableState &)> NotifyFn
Bản đồ dịch vụ
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
Thông báo khi tất cả các dịch vụ đã đạt đến 'mục tiêu_state'.
Các dịch vụ có thể được chỉ định theo hai cách:
- Dưới dạng các phiên bản cụ thể của tên luồng có thể phục vụ. Trong trường hợp này, chúng tôi kiểm tra xem phiên bản cụ thể đã đạt đến 'mục tiêu_state' hoặc kEnd hay chưa.
- Là phiên bản mới nhất, trong trường hợp này, bất kỳ phiên bản nào cho tên luồng có thể phục vụ sẽ được khớp với 'mục tiêu_state' hoặc kEnd.
Chúng tôi gọi 'notifier_fn' khi cả hai điều kiện đều đúng -
- Tất cả các yêu cầu có thể phục vụ cụ thể đã đạt đến 'mục tiêu_state' hoặc kEnd.
- Tất cả các yêu cầu có thể phục vụ mới nhất đã đạt đến 'mục tiêu_state' hoặc kEnd. 'Notifier_fn' sẽ chỉ được gọi một lần và không được gọi lặp lại.
Đối số 'reach_goal_state' được đặt là true iff, tất cả các dịch vụ cụ thể đã đạt đến 'goal_state'. Vì vậy, người gọi nên xác minh rằng 'reach_goal_state' là đúng trong 'notifier_fn'.
Đối số 'state_reached' được điền với id của dịch vụ và trạng thái mà nó đạt được. Trạng thái sẽ là 'goal_state' nếu 'đạt_goal_state' là true, nếu không, nó sẽ chứa một hoặc nhiều servables ở trạng thái kEnd. Đối với các yêu cầu có thể phục vụ mới nhất, id có thể phục vụ sẽ là id của có thể phục vụ trong luồng đã đạt đến trạng thái.
Phiên bản
int64 Version
Bản đồ phiên bản
std::map< Version, ServableStateAndTime, std::greater< Version >> VersionMap
Chức năng công cộng
ForgetUnloadedServableStates
void ForgetUnloadedServableStates()
Xóa tất cả các phiên bản có thể phục vụ khỏi Bản đồ dịch vụ có các trạng thái đã chuyển sang kEnd.
GetAllServableStates
ServableMap GetAllServableStates()
Trả về trạng thái hiện tại của tất cả các phiên bản được theo dõi của tất cả các dịch vụ.
GetAvailableServableStates
ServableSet GetAvailableServableStates()
GetBoundLog
BoundedLog GetBoundedLog()
Trả về nhật ký giới hạn hiện tại của các sự kiện trạng thái dịch vụ được xử lý.
GetLiveServableStates
ServableMap GetLiveServableStates()
Trả về trạng thái hiện tại của tất cả các phiên bản của tất cả các dịch vụ chưa chuyển sang trạng thái ServableState :: ManagerState :: kEnd.
GetState
optional< ServableState > GetState( const ServableId & servable_id )
Trả về trạng thái hiện tại của một dịch vụ hoặc nullopt nếu dịch vụ đó không được theo dõi.
GetStateAndTime
optional< ServableStateAndTime > GetStateAndTime( const ServableId & servable_id )
Trả về trạng thái và thời gian hiện tại của một dịch vụ hoặc nullopt nếu dịch vụ đó không được theo dõi.
GetVersionStates
VersionMap GetVersionStates( const string & servable_name )
Trả về trạng thái hiện tại của tất cả các phiên bản được theo dõi của dịch vụ đã cho, nếu có.
Thông báo
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
Tương tự như NotifyWhenServablesReachState (...), nhưng thay vì thông báo, chúng ta đợi cho đến khi đạt được 'mục tiêu_state' hoặc kEnd.
Để hiểu giá trị trả về và tham số trả về 'state_reached', vui lòng đọc tài liệu về NotifyWhenServablesReachState (...).
~ ServableStateMonitor
virtual ~ServableStateMonitor()