Server.AverageStatusPollerQueueSize / Server.AverageConfigurationPollerQueueSize

Started by Toepfe, July 02, 2015, 11:26:42 AM

Previous topic - Next topic

Toepfe


Hi everybody,

I still upgraded the server to 2.0M5. After that the DCIs Server.AverageStatusPollerQueueSize / Server.AverageConfigurationPollerQueueSize changed to unsupported. Any ideas?

I use Windows 7 64bit and MSSQL.

Bye
Heimo


Toepfe

Hi everybody,

It seems I'm the only one with this problem. Until now I don't see any disadvantage without these DCIs. In the historical data I get in version 2.0-M4 - not all but - most of the time 0.0 with both DCIs. I think they were configured automatically while server installation.

I tried to downgrade to 2.0-M4 but this is not working because of wrong database format. Yes my fault, next time I have a current backup ;-)

It's a little unclear for me, what these DCIs are needed for. Will I run into serious problems if they are not working?

Bye
Heimo


maxwal


Victor Kirhenshtein

Hi,

these DCIs are not supported anymore because of recent changes in server internals. There are no more separate queues for status and configuration pollers - from 2.0-M5 we are using dedicated thread pool with task queue instead. You can safely delete these DCIs. If you are interested in monitoring poller thread pool, you can configure the following internal DCIs on server node:

Name: Server.ThreadPool.LoadAverage(POLLERS)
Description: Thread pool POLLERS: load average 1 minute

Name: Server.ThreadPool.Load(POLLERS)
Description: Thread pool POLLERS: current load

Name: Server.ThreadPool.CurrSize(POLLERS)
Description: Thread pool POLLERS: current size

Best regards,
Victor

Dani@M3T

The list in the Parameter Selection should be updated too:

  • The configuration and the status poller parameters should be deleted
  • The 3 new thread pool parameters should be added

tomaskir

I did some research and then bothered Victor with questions, and here is a bit more info on this:

Server now uses 2 thread pools; "MAIN" and "POLLERS".
Agent uses 1 thread pool named "DATACOLL".

You can find out by running "grep -r ThreadPoolCreate\(.*\)\)" on the src directory.

You can collect metrics on these using:
For server, Internal Server.ThreadPool.* DCIs are available.
For agent Agent Agent.ThreadPool.* DCIs are available.

You need to pass the thread pool name as {instance} to the DCIs (in the parameter).

Thread pools with automatically shrink and grow. You can monitor this using the "Size" DCIs.
Thread pool load is available using the "Load" DCIs.

Load should never exceed the size of the thread pool, but this should not happen anyway, since the thread pool will grow to accommodate load.

Victor Kirhenshtein

Just few clarifications:

1. load will not exceed size, bt it can exceed max size, as thread pool will not grow beyound max size.

2. Note that parameter name for load monitoring is "LoadAverage", not "Load", as it represents moving average of request queue for period (same as UNIX/Linux load average), while "Load" represents current thread pool load as % of threads processing request to current size of thread pool.

Also, I've updated internal DCI selector in UI - now it shows correct set of parameters.

Best regards,
Victor