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ụng
std::deque< ServableStateAndTime >
NotifyFn sử dụng
std::function< void(const ServableState &)>
ServableMap sử dụng
std::map< ServableName, VersionMap >
ServableName sử dụng
string
ServableSet sử dụng
std::set< ServableName >
ServableStateNotifierFn sử dụng
std::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ụng
int64
VersionMap sử dụng
std::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:

  1. 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.
  2. 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 -

  1. 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.
  2. 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()