Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[Feature][zeta][monitoring] Support exposing monitoring metrics by prometheus exporter protocol (#5070) #5112

Open
wants to merge 40 commits into
base: dev
Choose a base branch
from

Conversation

kim-up
Copy link
Contributor

@kim-up kim-up commented Jul 18, 2023

PR for #5070
The final effect : https://github.com/kim-up/incubator-seatunnel/blob/telemetry/docs/en/seatunnel-engine/telemetry.md

Overall Design

image

Node Hazelcast Metrics

Getting metrics from ManagedExecutorServiceMBean

  • systemExecutorMBean
  • asyncExecutorMBean
  • scheduledExecutorMBean
  • clientExecutorMBean
  • clientQueryExecutorMBean
  • clientBlockingExecutorMBean
  • queryExecutorMBean
  • ioExecutorMBean
  • offloadableExecutorMBean
  • partitionServiceMBean

Including, executor_executedCount、executor_isShutdown、executor_maxPoolSize 、executor_poolSize、executor_queueRemainingCapacity、executor_isShutdown、executor_queueSize

Zeta Thread Pool Metrics

Getting metrics from CoordinatorService#(ThreadPoolExecutor) executorService
Including, pool_activeCount、pool_corePoolSize 、pool_maximumPoolSize、pool_poolSize、pool_completedTask_total、pool_task_total

Zeta Job Metrics

Getting metrics from CoordinatorService#(IMap<Object, Object>)runningJobInfoIMap
Including, job count in various states

Node Jvm Metrics

Getting metrics from io.prometheus.client.hotspot.prometheus.DefaultExports
Including, Memory、BufferPools、Garbage、Thread、ClassLoading、VersionInf

Cluster metrics

Getting metrics from ClusterService
Including, cluster_info、cluster_time

Purpose of this pull request

Check list

@liugddx
Copy link
Member

liugddx commented Jul 18, 2023

Good job.

Copy link
Member

@liugddx liugddx left a comment

Choose a reason for hiding this comment

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

Revert example module.

Comment on lines 34 to 36
throws IOException, URISyntaxException, CommandException {
String configurePath =
args.length > 0 ? args[0] : "/examples/stream_fakesource_to_file.conf";
Copy link
Member

Choose a reason for hiding this comment

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

revert.

String configFile = getTestConfigFile(configurePath);
ClientCommandArgs clientCommandArgs = new ClientCommandArgs();
clientCommandArgs.setConfigFile(configFile);
clientCommandArgs.setCheckConfig(false);
clientCommandArgs.setJobName(Paths.get(configFile).getFileName().toString());
// Change Execution Mode to CLUSTER to use client mode, before do this, you should start
// SeaTunnelEngineServerExample
clientCommandArgs.setMasterType(MasterType.LOCAL);
clientCommandArgs.setMasterType(MasterType.CLUSTER);
Copy link
Member

Choose a reason for hiding this comment

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

Same as above.

@TyrantLucifer
Copy link
Member

document has some dead links, please check.

image

@liugddx
Copy link
Member

liugddx commented Jul 18, 2023

@ic4y @hailin0 @Hisoka-X @EricJoy2048

This feature is not small, may need to discuss further development.

@liugddx
Copy link
Member

liugddx commented Jul 18, 2023

@ic4y @hailin0 @Hisoka-X @EricJoy2048

This feature is not small, may need to discuss further development.

@TyrantLucifer

@Hisoka-X
Copy link
Member

@ic4y @hailin0 @Hisoka-X @EricJoy2048

This feature is not small, may need to discuss further development.

Maybe we can mark it unstable. So we can change it after release. This just is an option I offered, not final decided.

@hailin0
Copy link
Member

hailin0 commented Jul 20, 2023

@ic4y @hailin0 @Hisoka-X @EricJoy2048
This feature is not small, may need to discuss further development.

Maybe we can mark it unstable. So we can change it after release. This just is an option I offered, not final decided.

+1
Good for quick experiments to improve it

@@ -15,6 +15,7 @@
# limitations under the License.
#


Copy link
Member

Choose a reason for hiding this comment

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

Please revert this.

@kim-up kim-up requested review from Hisoka-X and liugddx July 25, 2023 13:31
@kim-up
Copy link
Contributor Author

kim-up commented Jul 27, 2023

@HoganEdwardChu
Copy link

@TyrantLucifer @kim-up
we need this feature does it planned to be merged?
Thanks

@hailin0
Copy link
Member

hailin0 commented Oct 25, 2023

@kim-up
good pr, please fix the conflict

@hailin0
Copy link
Member

hailin0 commented Nov 23, 2023

Please merge the dev branch and wait for ci to run successfully
@kim-up

@appleshcn
Copy link

@TyrantLucifer @kim-up @hailin0
we need this feature too, does it planned to be merged?
Thanks

@emmanuelsosa
Copy link

@kim-up we’re excited to see this merged. Thank you for your contribution.

@Hisoka-X
Copy link
Member

We should continue push this pr. @kim-up Could you fix conflict? cc @EricJoy2048 @hailin0

@Hisoka-X Hisoka-X added this to the 2.3.6 milestone Jun 26, 2024
@Hisoka-X Hisoka-X added feature New feature Zeta and removed discuss labels Jun 26, 2024
@Hisoka-X Hisoka-X modified the milestones: 2.3.6, 2.3.7 Jul 25, 2024
@Hisoka-X Hisoka-X modified the milestones: 2.3.7, 2.3.8 Aug 21, 2024
@corgy-w
Copy link
Contributor

corgy-w commented Aug 27, 2024

@kim-up I intend to continue this feature of yours, as it has been too long since the last update. I will be creating a new branch and porting your code to implement the necessary changes. Please be aware of this and looking forward to cooperating with you,TKS! :>

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
feature New feature Zeta
Projects
None yet
Development

Successfully merging this pull request may close these issues.

10 participants