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:

  1. 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.
  2. 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 —

  1. Wszystkie konkretne żądania, które można obsłużyć, osiągnęły albo stan celu, albo kEnd.
  2. 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()