@diosmosis opened this Pull Request on July 27th 2018 Member

Initial PR for better archiving profiling output.

Notes:

  • Performance metrics are added during an archiving request to an option and read after (they are also logged w/ log level INFO). (Haven't implemented anything to clean up those options yet.)
  • I added a runid parameter to cli:request command calls in CliMulti, not sure if this will screw w/ code that detects duplicate commands.
  • Only works w/ CliMulti.

Screenshot:

image

Fixes #12935

CC @tsteur

@diosmosis commented on July 27th 2018 Member

Can you add the peak memory usage by plugin? hoping to see how "memory heavy" is each plugin when it comes to archiving their reports

I can add peak memory usage, BUT, it won't be peak memory usage by plugin, because memory_get_peak_usage() returns peak memory usage for the entire process at a given time. So if plugin A is archived first & has peak memory usage of 64MB and plugin B is archived later but uses much less memory, the peak memory usage for plugin B will still be 64MB.

could you please confirm that it won't introduce a regression?

I can try, was hoping you or @tsteur would have some idea from looking at the code.

@diosmosis commented on July 31st 2018 Member

@tsteur modified to use a log file instead of the option table.

@mattab looks like it won't regress since runid=... is added to the end of the URL and should be ignored by @tsteur's code. But I can't replicate the setup on a linux box so would be good to test this eventually.

@mattab commented on July 31st 2018 Member

I can add peak memory usage, BUT, it won't be peak memory usage by plugin, because memory_get_peak_usage() returns peak memory usage for the entire process at a given time

Sounds good, please add the peak usage, so we know which plugins cause the memory peaks to increase which indicate they are using more memory than the previous ones, which is useful to know

@diosmosis commented on July 31st 2018 Member

@mattab Added peak memory usage.

This Pull Request was closed on July 31st 2018
Powered by GitHub Issue Mirror