przepływ tensorowy:: porcja:: Monitor stanu w obsłudze
#include <servable_state_monitor.h>
Narzędzie, które nasłuchuje EventBus<ServableState> i śledzi stan każdego serwable wymienionego w magistrali.
Streszczenie
Zamierzony przypadek użycia jest śledzenie stanów servables w Menedżerze .
Oferuje interfejs do odpytywania stanów serwowalnych. Może być przydatny jako podstawa do dashboardów, a także do testowania managera.
WAŻNE: Należy utworzyć monitora przed organizowanie imprez mają zostać opublikowane w autobusie zdarzeń, np dając autobus zdarzeń do menedżera .
Konstruktory i destruktory | |
---|---|
ServableStateMonitor (EventBus< ServableState > *bus, const Options & options) | |
~ServableStateMonitor () |
Typy publiczne | |
---|---|
BoundedLog | za pomocąstd::deque< ServableStateAndTime > |
NotifyFn | za pomocąstd::function< void(const ServableState &)> |
ServableMap | za pomocąstd::map< ServableName, VersionMap > |
ServableName | za pomocąstring |
ServableSet | za pomocąstd::set< ServableName > |
ServableStateNotifierFn | za pomocąstd::function< void(bool reached_goal_state, const std::map< ServableId, ServableState::ManagerState > &states_reached)> Powiadamia, gdy wszystkie elementy wyświetlalne osiągną „stan_celu”. |
Version | za pomocąint64 |
VersionMap | za pomocąstd::map< Version, ServableStateAndTime, std::greater< Version >> |
Funkcje publiczne | |
---|---|
ForgetUnloadedServableStates () | void Usuwa wszystkie serwowalne wersje z ServableMap, których stany zostały przeniesione do kEnd. |
GetAllServableStates () | ServableMap Zwraca bieżące stany wszystkich śledzonych wersji wszystkich usług. |
GetAvailableServableStates () | ServableSet |
GetBoundedLog () | BoundedLog Zwraca bieżący ograniczony dziennik obsługiwanych zdarzeń stanu możliwego do wyświetlenia. |
GetLiveServableStates () | ServableMap Zwraca bieżące stany wszystkich wersji wszystkich usług, które nie przeszły do stanu ServableState::ManagerState::kEnd. |
GetState (const ServableId & servable_id) | optional< ServableState > Zwraca bieżący stan jednego serwowalnego lub nullopt, jeśli ten serwowalny nie jest śledzony. |
GetStateAndTime (const ServableId & servable_id) | optional< ServableStateAndTime > Zwraca bieżący stan i czas jednego serwowalnego lub nullopt, jeśli ten serwowalny nie jest śledzony. |
GetVersionStates (const string & servable_name) | VersionMap Zwraca bieżące stany wszystkich śledzonych wersji danego serwowalnego, jeśli takie istnieją. |
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 Podobny do NotifyWhenServablesReachState(...), ale zamiast powiadamiania, czekamy na osiągnięcie „goal_state” lub kEnd. |
Struktury | |
---|---|
tensorflow :: służąc :: ServableStateMonitor :: Opcje | |
tensorflow :: służąc :: ServableStateMonitor :: ServableStateAndTime |
Typy publiczne
BoundedLog
std::deque< ServableStateAndTime > BoundedLog
PowiadomFn
std::function< void(const ServableState &)> NotifyFn
Wyświetlana mapa
std::map< ServableName, VersionMap > ServableMap
Nazwa Serwowalna
string ServableName
Zestaw do wyświetlania
std::set< ServableName > ServableSet
Powiadomienie o stanie udostępnianiaFn
std::function< void(bool reached_goal_state, const std::map< ServableId, ServableState::ManagerState > &states_reached)> ServableStateNotifierFn
Powiadamia, gdy wszystkie elementy wyświetlalne osiągną „stan_celu”.
Serwable można określić na dwa sposoby:
- Jako określone wersje nazwy strumienia, który można wyświetlać. W takim przypadku sprawdzamy, czy konkretna wersja osiągnęła stan 'goal_state' lub kEnd.
- Jako najnowsze wersje, w takim przypadku dowolna wersja nazwy strumienia, który można udostępniać, zostanie dopasowana do parametru „goal_state” lub kEnd.
Nazywamy „notifier_fn”, gdy oba warunki są spełnione —
- Wszystkie konkretne żądania, które można obsłużyć, osiągnęły albo stan celu, albo kEnd.
- Wszystkie ostatnie możliwe do wyświetlenia żądania osiągnęły stan „goal_state” lub kEnd. 'notifier_fn' zostanie wywołane tylko raz, a nie wielokrotnie.
Argument „reached_goal_state” jest ustawiony jako prawda, jeśli wszystkie określone obiekty serwowalne osiągnęły „goal_state”. Dlatego wywołujący powinni sprawdzić, czy „reached_goal_state” jest prawdziwe w „notifier_fn”.
Argument „states_reached” jest wypełniany identyfikatorem serwera i osiągniętym stanem. Stan byłby 'goal_state', jeśli 'reached_goal_state' jest prawdziwe, w przeciwnym razie będzie zawierał jeden lub więcej obiektów serwowalnych w stanie kEnd. W przypadku najnowszych żądań serwowalnych identyfikatorem serwowalnym będzie identyfikator serwowalnego w strumieniu, który osiągnął stan.
Wersja
int64 Version
WersjaMapa
std::map< Version, ServableStateAndTime, std::greater< Version >> VersionMap
Funkcje publiczne
ZapomnijNieobciążoneStany Servable
void ForgetUnloadedServableStates()
Usuwa wszystkie serwowalne wersje z ServableMap, których stany zostały przeniesione do kEnd.
GetAllServableStates
ServableMap GetAllServableStates()
Zwraca bieżące stany wszystkich śledzonych wersji wszystkich usług.
UzyskajAvailableServableStates
ServableSet GetAvailableServableStates()
GetBoundedLog
BoundedLog GetBoundedLog()
Zwraca bieżący ograniczony dziennik obsługiwanych zdarzeń stanu możliwego do wyświetlenia.
GetLiveServableStates
ServableMap GetLiveServableStates()
Zwraca bieżące stany wszystkich wersji wszystkich usług, które nie przeszły do stanu ServableState::ManagerState::kEnd.
GetState
optional< ServableState > GetState( const ServableId & servable_id )
Zwraca bieżący stan jednego serwowalnego lub nullopt, jeśli ten serwowalny nie jest śledzony.
GetStateAndTime
optional< ServableStateAndTime > GetStateAndTime( const ServableId & servable_id )
Zwraca bieżący stan i czas jednego serwowalnego lub nullopt, jeśli ten serwowalny nie jest śledzony.
Pobierz stany wersji
VersionMap GetVersionStates( const string & servable_name )
Zwraca bieżące stany wszystkich śledzonych wersji danego serwowalnego, jeśli takie istnieją.
Notyfikować
void Notify( const NotifyFn & notify_fn )
Powiadom, gdy elementy udostępniane dotrą do stanu
void NotifyWhenServablesReachState( const std::vector< ServableRequest > & servables, ServableState::ManagerState goal_state, const ServableStateNotifierFn & notifier_fn )
Monitor stanu w obsłudze
ServableStateMonitor( EventBus< ServableState > *bus, const Options & options )
Czekaj, aż do osiągnięcia stanu serwisu
bool WaitUntilServablesReachState( const std::vector< ServableRequest > & servables, ServableState::ManagerState goal_state, std::map< ServableId, ServableState::ManagerState > *states_reached ) TF_MUST_USE_RESULT
Podobny do NotifyWhenServablesReachState(...), ale zamiast powiadamiania, czekamy na osiągnięcie „goal_state” lub kEnd.
Aby zrozumieć zwracaną wartość i zwracany parametr „states_reached”, zapoznaj się z dokumentacją dotyczącą NotifyWhenServablesReachState(...).
~ServableStateMonitor
virtual ~ServableStateMonitor()