howardjones / network-weathermap

Network Weathermap draws diagrams from data
http://www.network-weathermap.com/
MIT License
426 stars 95 forks source link

ERROR PHP DEPRECATED in Plugin 'weathermap': The each() function is deprecated. This message will be suppressed on further calls in file: /var/www/html/plugins/weathermap/lib/Weathermap.class.php on line: 1481 #160

Closed ikorzha closed 5 years ago

ikorzha commented 5 years ago

Howie, I am sorry I have to bring this to your attention, I have upgrade the php to 7.2 in CentOS server running Cacti so I can test your current development. When I fall back to my weathermap 1.0.0dev (about a year old from current, but functional), I run into the following error msg in the log every minute: ERROR PHP DEPRECATED in Plugin 'weathermap': The each() function is deprecated. This message will be suppressed on further calls in file: /var/www/html/plugins/weathermap/lib/Weathermap.class.php on line: 1481 Can you help to resolve at as it is a major pain to revert php version.

image

howardjones commented 5 years ago

It's also a major pain to debug year-old code :-)

Here's the current version of BuildZLayers, which doesn't have this problem:

https://github.com/howardjones/network-weathermap/blob/master/lib/Weathermap/Core/Map.php#L333

ikorzha commented 5 years ago

Thank you Howie, for pointing me to right code, that fixed the problem!

Please let me know once you are ready for beta testing. I am really eager to migrate from my 1 year old + unsupported code in Cacti 1.x branch. Additionally I can be a very useful tester to you as I have a large cacti install base with large maps and multiple pollers. Currently Howie, I am facing a major issue that I am observing that Weathermap 1.0.0dev that I am running is victimizing Cacti itself and thold plugins. Which results in highly elevated polling times when weathermap plugin is enabled and no maps are running.

All I am saying please let me know once you are ready, I will be ready to contribute:

image

howardjones commented 5 years ago

At one time, I know that the Cacti multi-poller setup would sync all the plugin directories between systems. Could it be that?

ikorzha commented 5 years ago

I have to say to that. It is true any changes to plugins are synced, however I have excluded sync of weathermap output folder, I do know it does work because sync msg do NOT appear in the log. It must be something else, 1 Clear example I have: Exibit A: weathermap plugin installed and disabled, polling time 23sec on master server. Exibit B: weathermap plugin installed and enabled, polling time 48 sec on master server with 0 maps enabled. I even tested your current development branch from git, behavior is still the same with 0 maps. That is why I am interested in a point when map control gui is complete and I can work you on this performance issue.

howardjones commented 5 years ago

That is an interesting one! With no maps enabled, my next guess would be lots of data left over from old maps in the weathermap_data table, which might slow down the poller, if you once used the boost support on this installation. There's nothing that will take 20 secs in the main poller loop, that I can think of, especially with no maps defined - in fact, the WEATHERMAP STATS line in the logs should confirm that.

ikorzha commented 5 years ago

Howie, if you don't mind I will open a separate issue on problem I am experiencing with master poller latency due to weathermap plugin.