เทนเซอร์โฟลว์:: เสิร์ฟ:: 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 สามารถระบุได้สองวิธี:

  1. เป็นเวอร์ชันเฉพาะของชื่อสตรีมที่แสดงได้ ในกรณีนี้ เราจะตรวจสอบว่าเวอร์ชันที่ระบุถึง 'goal_state' หรือ kEnd หรือไม่
  2. เป็นเวอร์ชันล่าสุด ซึ่งในกรณีนี้ เวอร์ชันใดๆ สำหรับชื่อสตรีมที่แสดงได้จะถูกจับคู่กับ 'goal_state' หรือ kEnd

เราเรียก 'notifier_fn' เมื่อทั้งสองเงื่อนไขเป็นจริง -

  1. คำขอที่แสดงผลได้ทั้งหมดถึง 'goal_state' หรือ kEnd แล้ว
  2. คำขอที่แสดงผลได้ล่าสุดทั้งหมดถึง '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()