node_exporter_aix
node_exporter_aix copied to clipboard
Allocate on the heap instead of the stack to avoid segfaults
Caveat: I am not the best C++ programer.
Previously perf objects were allocated on the heap which by default is 96Kb on AIX. When dealing with a large number of perf instances this would case a segfault/invalid argument when calling the libperfstat function. Confused as to why it did not cause it on allocation, but moving to the heap solves the issue.
Added manual deletion of the objects, the memory could leak if an error occurred but that would involve a lot more SED work than I could easily do and in testing with customer environments we haven't seen any errors.
@thorhs seeing if you had a chance to review this