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 | menggunakanstd::deque< ServableStateAndTime > |
NotifyFn | menggunakanstd::function< void(const ServableState &)> |
ServableMap | menggunakanstd::map< ServableName, VersionMap > |
ServableName | menggunakanstring |
ServableSet | menggunakanstd::set< ServableName > |
ServableStateNotifierFn | menggunakanstd::function< void(bool reached_goal_state, const std::map< ServableId, ServableState::ManagerState > &states_reached)> Memberi tahu ketika semua servable telah mencapai 'goal_state'. |
Version | menggunakanint64 |
VersionMap | menggunakanstd::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:
- Sebagai versi spesifik dari nama aliran yang dapat ditayangkan. Dalam hal ini, kami memeriksa apakah versi tertentu telah mencapai 'goal_state' atau kEnd.
- 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 -
- Semua permintaan tertentu yang dapat dilayani telah mencapai 'goal_state' atau kEnd.
- 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()