NetXMS Support Forum

English Support => General Support => Topic started by: Toepfe on July 02, 2015, 11:26:42 AM

Title: Server.AverageStatusPollerQueueSize / Server.AverageConfigurationPollerQueueSize
Post by: Toepfe on July 02, 2015, 11:26:42 AM

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

Title: Re: Server.AverageStatusPollerQueueSize / Server.AverageConfigurationPollerQueueSize
Post by: Toepfe on July 06, 2015, 03:25:16 PM
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

Title: Re: Server.AverageStatusPollerQueueSize / Server.AverageConfigurationPollerQueueSize
Post by: maxwal on July 07, 2015, 10:16:09 PM
I have the same problem after the upgrade.  Server - Win7x64.
Title: Re: Server.AverageStatusPollerQueueSize / Server.AverageConfigurationPollerQueueSize
Post by: Victor Kirhenshtein on July 08, 2015, 03:09:49 PM
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
Title: Re: Server.AverageStatusPollerQueueSize / Server.AverageConfigurationPollerQueueSize
Post by: Dani@M3T on July 08, 2015, 03:23:05 PM
The list in the Parameter Selection should be updated too:
Title: Re: Server.AverageStatusPollerQueueSize / Server.AverageConfigurationPollerQueueSize
Post by: tomaskir on July 27, 2015, 10:17:12 AM
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.
Title: Re: Server.AverageStatusPollerQueueSize / Server.AverageConfigurationPollerQueueSize
Post by: Victor Kirhenshtein on July 27, 2015, 10:33:31 AM
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