เทนเซอร์โฟลว์:: เสิร์ฟ:: 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 ส่งคืนสถานะปัจจุบันของทุกเวอร์ชันของ servables ทั้งหมดที่ไม่ได้เปลี่ยนเป็นสถานะ ServableState::ManagerState::kEnd |
GetState (const ServableId & servable_id) | optional< ServableState > ส่งกลับสถานะปัจจุบันของหนึ่งที่ให้บริการได้ หรือ nullopt ถ้า servable นั้นไม่ถูกติดตาม |
GetStateAndTime (const ServableId & servable_id) | optional< ServableStateAndTime > ส่งกลับสถานะและเวลาปัจจุบันของหนึ่งที่ให้บริการ หรือ nullopt หากเซิร์ฟเวอร์นั้นไม่ถูกติดตาม |
GetVersionStates (const string & servable_name) | VersionMap ส่งคืนสถานะปัจจุบันของเวอร์ชันที่ติดตามทั้งหมดของ Servable ที่ระบุ หากมี |
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 แล้ว
- คำขอที่แสดงผลได้ล่าสุดทั้งหมดถึง 'goal_state' หรือ kEnd แล้ว 'notifier_fn' จะถูกเรียกเพียงครั้งเดียว และไม่เรียกซ้ำ
อาร์กิวเมนต์ 'reached_goal_state' ถูกตั้งค่าเป็นจริงหากเซิร์ฟเวอร์ที่ระบุทั้งหมดถึง 'goal_state' ดังนั้นผู้โทรควรตรวจสอบว่า 'reach_goal_state' เป็นจริงใน 'notifier_fn'
อาร์กิวเมนต์ 'states_reached' ถูกเติมด้วย id ของเซิร์ฟเวอร์และสถานะที่เข้าถึงได้ สถานะจะเป็น 'goal_state' หาก 'reached_goal_state' เป็นจริง มิฉะนั้นจะมีเซิร์ฟเวอร์อย่างน้อย 1 รายการในสถานะ kEnd สำหรับคำขอให้บริการล่าสุด id ที่ให้บริการจะเป็น id ของเซิร์ฟเวอร์ในสตรีมที่มาถึงสถานะ
เวอร์ชั่น
int64 Version
VersionMap
std::map< Version, ServableStateAndTime, std::greater< Version >> VersionMap
งานสาธารณะ
ลืมUnloadedServableStates
void ForgetUnloadedServableStates()
ลบเวอร์ชันที่ใช้งานได้ทั้งหมดออกจาก ServableMap ซึ่งสถานะได้เปลี่ยนเป็น kEnd
GetAllServableStates
ServableMap GetAllServableStates()
ส่งกลับสถานะปัจจุบันของเวอร์ชันที่ติดตามทั้งหมดของเซิร์ฟเวอร์ทั้งหมด
GetAvailableServableStates
ServableSet GetAvailableServableStates()
GetBoundedLog
BoundedLog GetBoundedLog()
ส่งกลับบันทึกที่มีขอบเขตปัจจุบันของเหตุการณ์สถานะที่สามารถจัดการได้
GetLiveServableStates
ServableMap GetLiveServableStates()
ส่งคืนสถานะปัจจุบันของทุกเวอร์ชันของ servables ทั้งหมดที่ไม่ได้เปลี่ยนเป็นสถานะ ServableState::ManagerState::kEnd
GetState
optional< ServableState > GetState( const ServableId & servable_id )
ส่งกลับสถานะปัจจุบันของหนึ่งที่ให้บริการได้ หรือ nullopt ถ้า servable นั้นไม่ถูกติดตาม
GetStateAndTime
optional< ServableStateAndTime > GetStateAndTime( const ServableId & servable_id )
ส่งกลับสถานะและเวลาปัจจุบันของหนึ่งที่ให้บริการ หรือ nullopt หากเซิร์ฟเวอร์นั้นไม่ถูกติดตาม
GetVersionStates
VersionMap GetVersionStates( const string & servable_name )
ส่งคืนสถานะปัจจุบันของเวอร์ชันที่ติดตามทั้งหมดของ Servable ที่ระบุ หากมี
แจ้ง
void Notify( const NotifyFn & notify_fn )
แจ้งเตือนเมื่อServablesReachState
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()