aliran tensor:: porsi:: Monitor Keadaan yang Dapat Dilayani

#include <servable_state_monitor.h>

Utilitas yang mendengarkan EventBus<ServableState>, dan melacak status setiap servable yang disebutkan di bus.

Ringkasan

Kasus penggunaan yang dimaksudkan adalah untuk melacak negara bagian servables dalam Manajer .

Menawarkan antarmuka untuk menanyakan status yang dapat diservis. Ini mungkin berguna sebagai dasar untuk dasbor, serta untuk menguji seorang manajer.

PENTING: Anda harus membuat monitor ini sebelum mengatur untuk acara yang akan diterbitkan pada bus acara, misalnya memberikan acara bus ke manajer .

Konstruktor dan Destructor

ServableStateMonitor (EventBus< ServableState > *bus, const Options & options)
~ServableStateMonitor ()

Tipe publik

BoundedLog menggunakan
std::deque< ServableStateAndTime >
NotifyFn menggunakan
std::function< void(const ServableState &)>
ServableMap menggunakan
std::map< ServableName, VersionMap >
ServableName menggunakan
string
ServableSet menggunakan
std::set< ServableName >
ServableStateNotifierFn menggunakan
std::function< void(bool reached_goal_state, const std::map< ServableId, ServableState::ManagerState > &states_reached)>
Memberi tahu ketika semua servable telah mencapai 'goal_state'.
Version menggunakan
int64
VersionMap menggunakan
std::map< Version, ServableStateAndTime, std::greater< Version >>

Fungsi publik

ForgetUnloadedServableStates ()
void
Menghapus semua versi yang dapat diservis dari ServableMap yang statusnya telah dialihkan ke kEnd.
GetAllServableStates ()
ServableMap
Mengembalikan status saat ini dari semua versi terlacak dari semua servable.
GetAvailableServableStates ()
ServableSet
GetBoundedLog ()
BoundedLog
Mengembalikan log terbatas saat ini dari peristiwa status yang dapat dilayani yang ditangani.
GetLiveServableStates ()
ServableMap
Mengembalikan status saat ini dari semua versi semua servable yang belum ditransisikan ke status ServableState::ManagerState::kEnd.
GetState (const ServableId & servable_id)
optional< ServableState >
Mengembalikan status saat ini dari satu servable, atau nullopt jika servable tersebut tidak dilacak.
GetStateAndTime (const ServableId & servable_id)
optional< ServableStateAndTime >
Mengembalikan status dan waktu saat ini dari satu servable, atau nullopt jika servable tersebut tidak dilacak.
GetVersionStates (const string & servable_name)
VersionMap
Mengembalikan status saat ini dari semua versi terlacak dari servable yang diberikan, jika ada.
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
Mirip dengan NotifyWhenServablesReachState(...), tetapi alih-alih memberi tahu, kami menunggu hingga 'goal_state' atau kEnd tercapai.

Struktur

tensorflow :: melayani :: ServableStateMonitor :: Pilihan
tensorflow :: melayani :: ServableStateMonitor :: ServableStateAndTime

Tipe publik

BoundedLog

std::deque< ServableStateAndTime > BoundedLog

BeritahuFn

std::function< void(const ServableState &)> NotifyFn

Peta yang Dapat Dilayani

std::map< ServableName, VersionMap > ServableMap

Nama yang Dapat Dilayani

string ServableName

Set yang Dapat Dilayani

std::set< ServableName > ServableSet

ServableStateNotifierFn

std::function< void(bool reached_goal_state, const std::map< ServableId, ServableState::ManagerState > &states_reached)> ServableStateNotifierFn

Memberi tahu ketika semua servable telah mencapai 'goal_state'.

Servables dapat ditentukan dalam dua cara:

  1. Sebagai versi spesifik dari nama aliran yang dapat ditayangkan. Dalam hal ini, kami memeriksa apakah versi tertentu telah mencapai 'goal_state' atau kEnd.
  2. Sebagai versi terbaru, dalam hal ini versi apa pun untuk nama aliran yang dapat ditayangkan akan dicocokkan dengan 'goal_state' atau kEnd.

Kami memanggil 'notifier_fn' ketika kedua kondisi benar -

  1. Semua permintaan tertentu yang dapat dilayani telah mencapai 'goal_state' atau kEnd.
  2. Semua permintaan terbaru yang dapat dilayani telah mencapai 'goal_state' atau kEnd. 'notifier_fn' akan dipanggil hanya sekali, dan tidak berulang kali.

Argumen 'reached_goal_state' disetel sebagai true jika semua servable tertentu telah mencapai 'goal_state'. Jadi penelepon harus memverifikasi bahwa 'reached_goal_state' benar di 'notifier_fn'.

Argumen 'states_reached' diisi dengan id yang dapat dilayani dan status yang dicapainya. Status akan menjadi 'goal_state' jika 'reached_goal_state' benar, jika tidak maka akan berisi satu atau lebih servable dalam status kEnd. Untuk permintaan servable terbaru, id servable akan menjadi id dari servable di aliran yang mencapai status.

Versi: kapan

int64 Version

Peta Versi

std::map< Version, ServableStateAndTime, std::greater< Version >> VersionMap

Fungsi publik

LupakanUnloadedServableStates

void ForgetUnloadedServableStates()

Menghapus semua versi yang dapat diservis dari ServableMap yang statusnya telah dialihkan ke kEnd.

GetAllServableStates

ServableMap GetAllServableStates()

Mengembalikan status saat ini dari semua versi terlacak dari semua servable.

GetAvailableServableStates

ServableSet GetAvailableServableStates()

DapatkanBoundedLog

BoundedLog GetBoundedLog()

Mengembalikan log terbatas saat ini dari peristiwa status yang dapat dilayani yang ditangani.

GetLiveServableStates

ServableMap GetLiveServableStates()

Mengembalikan status saat ini dari semua versi semua servable yang belum ditransisikan ke status ServableState::ManagerState::kEnd.

Dapatkan Negara

optional< ServableState > GetState(
  const ServableId & servable_id
)

Mengembalikan status saat ini dari satu servable, atau nullopt jika servable tersebut tidak dilacak.

DapatkanNegaraDanWaktu

optional< ServableStateAndTime > GetStateAndTime(
  const ServableId & servable_id
)

Mengembalikan status dan waktu saat ini dari satu servable, atau nullopt jika servable tersebut tidak dilacak.

DapatkanVersionStates

VersionMap GetVersionStates(
  const string & servable_name
)

Mengembalikan status saat ini dari semua versi terlacak dari servable yang diberikan, jika ada.

Memberitahukan

void Notify(
  const NotifyFn & notify_fn
)

NotifyWhenServablesReachState

void NotifyWhenServablesReachState(
  const std::vector< ServableRequest > & servables,
  ServableState::ManagerState goal_state,
  const ServableStateNotifierFn & notifier_fn
)

Monitor Keadaan yang Dapat Dilayani

 ServableStateMonitor(
  EventBus< ServableState > *bus,
  const Options & options
)

Tunggu SampaiServablesReachState

bool WaitUntilServablesReachState(
  const std::vector< ServableRequest > & servables,
  ServableState::ManagerState goal_state,
  std::map< ServableId, ServableState::ManagerState > *states_reached
) TF_MUST_USE_RESULT

Mirip dengan NotifyWhenServablesReachState(...), tetapi alih-alih memberi tahu, kami menunggu hingga 'goal_state' atau kEnd tercapai.

Untuk memahami nilai pengembalian dan parameter pengembalian 'states_reached', harap baca dokumentasi di NotifyWhenServablesReachState(...).

~ServableStateMonitor

virtual  ~ServableStateMonitor()