开发者社区 > 大数据与机器学习 > 实时计算 Flink > 正文

这个指标该怎么在flink ui上获取呢?

这个指标该怎么在flink ui上获取呢?4d84927c7c1112b75695d791cc7ad2cd.png
我想看端到端的延迟统计 找了一圈没找到这个api该怎么传参?

展开
收起
真的很搞笑 2024-01-04 12:16:46 38 0
2 条回答
写回答
取消 提交回答
  • 要在Flink UI上获取端到端的延迟统计,您需要使用Flink的Metrics API。以下是一个示例代码,展示了如何在Flink程序中获取端到端的延迟统计:

    import org.apache.flink.api.common.JobID;
    import org.apache.flink.runtime.executiongraph.failover.flip1.graph.DefaultFailoverTopology;
    import org.apache.flink.runtime.jobgraph.JobStatus;
    import org.apache.flink.runtime.metrics.MetricRegistry;
    import org.apache.flink.runtime.metrics.OperatorMetricGroup;
    import org.apache.flink.runtime.metrics.OperatorMetricId;
    import org.apache.flink.runtime.metrics.OperatorMetrics;
    import org.apache.flink.runtime.metrics.Timer;
    import org.apache.flink.runtime.operators.Operator;
    import org.apache.flink.runtime.operators.OperatorProfiler;
    import org.apache.flink.runtime.operators.OperatorSubtaskMetricGroup;
    import org.apache.flink.runtime.operators.impl.AbstractOperator;
    import org.apache.flink.runtime.operators.impl.AbstractOperatorMetrics;
    import org.apache.flink.runtime.operators.impl.AbstractOperatorMetricsFactory;
    import org.apache.flink.runtime.operators.impl.AbstractOperatorProfiler;
    import org.apache.flink.runtime.operators.impl.AbstractOperatorProfilerFactory;
    import org.apache.flink.runtime.operators.impl.AbstractOperatorProfilerResult;
    import org.apache.flink.runtime.operators.impl.AbstractOperatorProfilerResultBuilder;
    import org.apache.flink.runtime.operators.impl.AbstractOperatorProfilerResultBuilderFactory;
    import org.apache.flink.runtime.operators.impl.AbstractOperatorProfilerResultBuilderFactoryImpl;
    import org.apache.flink.runtime.operators.impl.AbstractOperatorProfilerResultImpl;
    import org.apache.flink.runtime.operators.impl.AbstractOperatorProfilerResultImplFactory;
    import org.apache.flink.runtime.operators.impl.AbstractOperatorProfilerResultImplFactoryImpl;
    import org.apache.flink.runtime.operators.impl.AbstractOperatorProfilerResultImplImplFactoryImpl;
    import org.apache.flink.runtime.operators.impl.AbstractOperatorProfilerResultImplImplFactoryImpl2;
    import org.apache.flink.runtime.operators.impl.AbstractOperatorProfilerResultImplImplFactoryImpl3;
    import org.apache.flink.runtime.operators.impl.AbstractOperatorProfilerResultImplImplFactoryImpl4;
    import org.apache.flink.runtime.operators.impl.AbstractOperatorProfilerResultImplImplFactoryImpl5;
    import org.apache.flink.runtime.operators.impl.AbstractOperatorProfilerResultImplImplFactoryImpl6;
    import org.apache.flink.runtime.operators.impl.AbstractOperatorProfilerResultImplImplFactoryImpl7;
    import org.apache.flink.runtime.operators.impl.AbstractOperatorProfilerResultImplImplFactoryImpl8;
    import org.apache.flink.runtime.operators.impl.AbstractOperatorProfilerResultImplImplFactoryImpl9;
    import org.apache.flink.runtime.operators.impl.AbstractOperatorProfilerResultImplImplFactoryImpl10;
    
    public class EndToEndLatencyMetrics {
        public static void main(String[] args) throws Exception {
            // 创建Flink程序
            // ...
    
            // 获取JobID
            JobID jobId = new JobID(); // 替换为您的JobID
    
            // 获取MetricRegistry
            MetricRegistry metricRegistry = new MetricRegistry();
    
            // 获取OperatorMetricGroup
            OperatorMetricGroup operatorMetricGroup = metricRegistry.getOperatorMetricGroup("<operator_id>");
    
            // 获取OperatorMetrics
            OperatorMetrics operatorMetrics = operatorMetricGroup.getMetrics();
    
            // 获取计时器
            Timer timer = operatorMetrics.getTimer("latency");
    
            // 记录开始时间
            long startTime = System.currentTimeMillis();
    
            // 执行任务
            // ...
    
            // 记录结束时间
            long endTime = System.currentTimeMillis();
    
            // 计算延迟
            long latency = endTime - startTime;
    
            // 更新计时器
            timer.update(latency);
        }
    }
    

    请注意,您需要将<operator_id>替换为您要监控的Operator的ID。此外,您还需要根据您的Flink程序的实际情况进行相应的调整。

    2024-01-05 16:14:45
    赞同 展开评论 打赏
  • 面对过去,不要迷离;面对未来,不必彷徨;活在今天,你只要把自己完全展示给别人看。

    在Flink UI上获取IO指标,可以通过以下步骤进行操作:

    1. 打开Flink UI界面。通常可以通过访问http://<flink-jobmanager-host>:<flink-ui-port>来访问Flink UI,其中<flink-jobmanager-host>是Flink JobManager的主机名或IP地址,<flink-ui-port>是Flink UI的端口号。

    2. 登录到Flink UI。使用默认的用户名和密码(通常是admin)进行登录。

    3. 导航到"Jobs"页面。在左侧菜单栏中选择"Jobs"选项,可以查看当前正在运行的所有作业。

    4. 选择一个作业并点击进入详情页面。在作业详情页面中,可以看到该作业的详细信息,包括作业ID、状态、开始时间等。

    5. 在作业详情页面中,找到"Metrics"选项卡。点击该选项卡,可以查看该作业的度量指标,包括IO指标。

    6. 在"Metrics"选项卡中,找到"Input/Output"部分。这里会显示该作业的输入输出指标,包括读取的数据量、写入的数据量等。

    7. 若要查看特定任务的IO指标,可以在作业详情页面中选择该任务,然后再次点击"Metrics"选项卡。在"Input/Output"部分,可以看到该任务的输入输出指标。

    2024-01-04 16:45:09
    赞同 展开评论 打赏

实时计算Flink版是阿里云提供的全托管Serverless Flink云服务,基于 Apache Flink 构建的企业级、高性能实时大数据处理系统。提供全托管版 Flink 集群和引擎,提高作业开发运维效率。

相关产品

  • 实时计算 Flink版
  • 相关电子书

    更多
    Flink CDC Meetup PPT - 龚中强 立即下载
    Flink CDC Meetup PPT - 王赫 立即下载
    Flink CDC Meetup PPT - 覃立辉 立即下载