Skip to content

Conversation

@wankai123
Copy link
Member

  • If this pull request closes/resolves/fixes an existing issue, replace the issue number. Closes #.
  • Update the CHANGES log.

@wankai123 wankai123 added this to the 10.3.0 milestone Nov 10, 2025
@wankai123 wankai123 requested a review from wu-sheng November 10, 2025 02:56
@wankai123 wankai123 added backend OAP backend related. enhancement Enhancement on performance or codes labels Nov 10, 2025
@wankai123 wankai123 requested a review from Copilot November 10, 2025 03:21
Copy link

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull Request Overview

This PR enhances the alarm runtime status query functionality to support querying the running status for the whole OAP cluster instead of just a single instance.

Key changes:

  • Refactored alarm status query endpoints to aggregate results from all OAP cluster instances
  • Introduced new service interfaces and data structures for cluster-wide alarm status representation
  • Updated documentation to reflect the new cluster-aware API response format

Reviewed Changes

Copilot reviewed 24 out of 24 changed files in this pull request and generated 10 comments.

Show a summary per file
File Description
alarm-settings.yml (multiple locations) Updated documentation comments to use "Rule unique id" instead of "Rule unique name" for consistency
StatusQueryProvider.java Registered AlarmStatusQueryService as a module service implementation
StatusQueryModule.java Added AlarmStatusQueryService to the list of provided services
AlarmStatusQueryService.java New service that queries alarm status from all OAP instances in the cluster via gRPC
AlarmStatusQueryHandler.java Refactored to delegate to AlarmStatusQueryService instead of directly accessing alarm rules
RemoteService.proto Added syncStatus RPC method and related message types for cross-instance status queries
SelfRemoteClient.java Implemented getChannel() method returning null for self-client
RemoteClient.java Added getChannel() method to interface for accessing underlying gRPC channel
GRPCRemoteClient.java Made getChannel() method public to implement interface
RemoteServiceHandler.java Added syncStatus RPC handler to respond to status queries from other OAP instances
AlarmStatusWatcherService.java New service interface defining methods for retrieving alarm status information
AlarmModule.java Added AlarmStatusWatcherService to module's provided services
InstanceAlarmStatus.java New data class representing alarm status for a single OAP instance
ClusterAlarmStatus.java New data class representing alarm status for the entire cluster
AlarmRunningContext.java New data class representing the runtime context of an alarm rule
AlarmRuleList.java New data class representing a list of alarm rules
AlarmRuleDetail.java New data class representing detailed information about an alarm rule
AlarmStatusWatcher.java Implementation of AlarmStatusWatcherService that retrieves alarm status from the local instance
AlarmModuleProvider.java Registered AlarmStatusWatcher as the implementation of AlarmStatusWatcherService
query_alarm_runtime_status.md Updated documentation showing new cluster-aware response format with examples
backend-alarm.md Updated terminology from "Rule name" to "Rule id" and "hook names" to "hook ids"
changes.md Added changelog entry for the new cluster-wide alarm status query feature

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

@wu-sheng wu-sheng merged commit f0e3c64 into apache:master Nov 10, 2025
178 checks passed
@wankai123 wankai123 deleted the alarm-status branch November 10, 2025 05:35
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

backend OAP backend related. enhancement Enhancement on performance or codes

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants