#20 Write stats collecting mechanism

Slēgta
yannweb atvēra 4 gadus atpakaļ · 2 komentāri

Nedd #24

Find a way to collect stats in pool_handling process.

The collection mechanism should give access to UDP server ( see #19 ) to following data :

  • worker count
  • requests count last 10/5/1 minute
  • request time average (maybe ?) => slow IPC between worker & pool ?
  • total request counter (maybe ?) => will overflow ?!
  • idle/busy state (maybe ?) => change too fast ?
  • idle/busy ratio or workload (maybe ?)

We have to take care of not slowing down the workers with this component…

Maybe the collection child could help implementing this mechanism ?

__Nedd #24__ Find a way to collect stats in pool_handling process. The collection mechanism should give access to UDP server ( see #19 ) to following data : - worker count - requests count last 10/5/1 minute - request time average (maybe ?) => slow IPC between worker & pool ? - total request counter (maybe ?) => will overflow ?! - idle/busy state (maybe ?) => change too fast ? - idle/busy ratio or workload (maybe ?) We have to take care of not slowing down the workers with this component... Maybe the collection child could help implementing this mechanism ?
yannweb pievienoja atskaites punktu BETA version 4 gadus atpakaļ
yannweb pievienoja etiķeti
enhancement
4 gadus atpakaļ
yannweb pievienoja etiķeti
_core
4 gadus atpakaļ
yannweb komentēja 4 gadus atpakaļ
Īpašnieks

A solution to a fast request counter implementation can use semaphores :

When a worker starts handling a request it increment a sempahore. Meanwhile, a counter process (pool_handler or stats collection child) will attempt to decrease (fast enough) the semaphore with WNOHANG.

If the decrement semop do not fail, a counter can be incremented.

Note : the 10/5/1 min counters implies to store all requests timestamps ?? Maybe we can associate a timestamp with a request count ?

=> if 100 req/s stores {time(NULL), 100} and not time_t [100] = {time(NULL), time(NULL), etc.}

A solution to a fast request counter implementation can use semaphores : When a worker starts handling a request it increment a sempahore. Meanwhile, a counter process (pool_handler or stats collection child) will attempt to decrease (fast enough) the semaphore with WNOHANG. If the decrement semop do not fail, a counter can be incremented. Note : the 10/5/1 min counters implies to store all requests timestamps ?? Maybe we can associate a timestamp with a request count ? <code>=> if 100 req/s stores {time(NULL), 100} and not time_t [100] = {time(NULL), time(NULL), etc.}</code>
yannweb uzsāka darbu 4 gadus atpakaļ
yannweb beidza strādāt 4 gadus atpakaļ
54min 36s
yannweb uzsāka darbu 4 gadus atpakaļ
yannweb beidza strādāt 4 gadus atpakaļ
3h 12min
yannweb piešķīra sev 4 gadus atpakaļ
yannweb pievienoja patērēto laiku 4 gadus atpakaļ
1h
yannweb pievienoja jaunu atkarību 4 gadus atpakaļ
yannweb pievienoja jaunu atkarību 4 gadus atpakaļ
yannweb uzsāka darbu 4 gadus atpakaļ
yannweb beidza strādāt 4 gadus atpakaļ
31min 16s
yannweb komentēja 4 gadus atpakaļ
Īpašnieks

closed by b3af92459e

closed by b3af92459e
Pierakstieties, lai pievienotos šai sarunai.
Nav atskaites punktu
Nav atbildīgo
1 dalībnieki
Kopējais patērētais laiks: 5h 37min 52s
Yann Weber
5h 37min 52s
Izpildes termiņš

Izpildes termiņš nav uzstādīts.

Notiek ielāde…
Atcelt
Saglabāt
Vēl nav satura.