Skip to content

[feat]: Native collector#4066

Open
zqr10159 wants to merge 14 commits intoapache:masterfrom
zqr10159:native-collector
Open

[feat]: Native collector#4066
zqr10159 wants to merge 14 commits intoapache:masterfrom
zqr10159:native-collector

Conversation

@zqr10159
Copy link
Member

This pull request introduces several important updates to improve platform compatibility, documentation clarity, and internal code quality for the HertzBeat project. The main highlights include the addition of a new GitHub Actions workflow for building native collector packages across multiple platforms, updates to documentation in English, Chinese, and Japanese to reflect new package naming conventions and requirements, a move to Java 25 as the minimum required version, and internal refactoring to support these changes.

Platform support and build improvements:

  • Added a new GitHub Actions workflow (.github/workflows/collector-native-build.yml) to automatically build and upload native collector packages for Linux (amd64/arm64), macOS (amd64/arm64), and Windows (amd64) using GraalVM JDK 25. This workflow streamlines cross-platform distribution and artifact management.

Documentation updates for clarity and accuracy:

  • Updated English (README.md), Chinese (README_CN.md), and Japanese (README_JP.md) documentation to:
    • Use new package naming conventions (e.g., apache-hertzbeat-xx-bin.tar.gz and apache-hertzbeat-collector-native-xx-linux-amd64-bin.tar.gz).
    • Explain the distinction between JVM and native collector packages, including platform-specific startup instructions.
    • Clarify that Java 25 is now required for backend and development. [1] [2] [3] [4] [5] [6] [7] [8] [9]

Dependency and configuration changes:

  • Updated hertzbeat-ai/pom.xml to require Java 25 instead of Java 21, aligning the build and runtime requirements with the new documentation.
  • Updated hertzbeat-alerter/pom.xml to add a dependency on hertzbeat-common-spring with provided scope, supporting new concurrency features.

Internal code refactoring and enhancements:

  • Refactored AlerterWorkerPool to use the new ManagedExecutor and ManagedExecutors abstractions, supporting both virtual and legacy thread pools and per-channel concurrency limits, with improved configuration via VirtualThreadProperties. Now implements DisposableBean for better lifecycle management. [1] [2]
  • Updated MonitorToolsImpl to use ParamDefineInfo instead of ParamDefine for parameter definitions, improving type safety and clarity. Also updated monitor validation to use explicit setter methods. [1] [2] [3] [4] [5]

@zqr10159 zqr10159 requested a review from tomsun28 March 13, 2026 04:07
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant