apollo-java
apollo-java copied to clipboard
[OSPP]Add more observability in apollo config client
What's the purpose of this PR
discussions OSPP2024 test cases Test
Which issue(s) this PR fixes:
Brief changelog
XXXXX
Follow this checklist to help us incorporate your contribution quickly and easily:
- [✔ ] Read the Contributing Guide before making this pull request.
- [ ] Write a pull request description that is detailed enough to understand what the pull request does, how, and why.
- [ ] Write necessary unit tests to verify the code.
- [❌] Run
mvn clean test
to make sure this pull request doesn't break anything. - [ ] Update the
CHANGES
log.
Summary by CodeRabbit
Summary by CodeRabbit
-
New Features
- Introduced several monitoring APIs for exceptions, namespaces, running parameters, and thread pools, enhancing visibility into system performance.
- Launched the
ApolloClientBootstrapArgsMonitorApi
,ApolloClientNamespaceMonitorApi
, andApolloClientThreadPoolMonitorApi
to manage configuration parameters and resource metrics. - Enhanced monitoring capabilities with structured logging for metrics and events.
- Added a
ConfigMonitorInitializer
class to facilitate the setup of monitoring components.
-
Improvements
- Enhanced error handling in various services by using defined constants for logging.
- Updated metrics collection mechanisms to track configuration loading durations and exception occurrences efficiently.
- Added new configuration properties for improved control over monitoring settings.
-
Bug Fixes
- Refined logging and error tracking to ensure consistency and accuracy in reporting metrics.
-
Tests
- Introduced comprehensive unit tests for newly added monitoring features and functionality.
- Added performance tests to validate the robustness of monitoring under stress conditions.
- Implemented tests for the
ApolloClientMonitorContext
andApolloClientMetricsExporter
to ensure correct functionality.