feat: pprof profiling and monitoring system #157
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Description
It creates a new domain (
monitoring
) that introduces:stats
) to track memory usage and perform a graceful service restart when memory usage exceeds a defined threshold. The goal is to ensure the stability and reliability of the application by proactively managing memory resources.pprof
) to monitor various aspects of the program's runtime performance. The Profile struct allows users to enable or disable profiling, specify the frequency of profile collection, and track goroutine and heap profiles. The goal is to provide insights into the program's runtime behavior, aiding in performance optimization and debugging.Changes include
Checklist
Testing
Manual tests
Tested in
toronto-1
andtoronto-4
.isEnable
anddelayInSeconds
flag.