Apache Doris 入门教程25:通过开启 Debug 日志进行性能分析

news2024/9/20 22:43:40

Doris 的 FE 和 BE 节点的系统运行日志默认为 INFO 级别。通常可以满足对系统行为的分析和基本问题的定位。但是某些情况下,可能需要开启 DEBUG 级别的日志来进一步排查问题。本文档主要介绍如何开启 FE、BE节点的 DEBUG 日志级别。

不建议将日志级别调整为 WARN 或更高级别,这不利于系统行为的分析和问题的定位。

开启 DEBUG 日志可能会导致大量日志产生,生产环境请谨慎开启

开启 FE Debug 日志​

FE 的 Debug 级别日志可以通过修改配置文件开启,也可以通过界面或 API 在运行时打开。

  1. 通过配置文件开启

    在 fe.conf 中添加配置项 sys_log_verbose_modules。举例如下:

    # 仅开启类 org.apache.doris.catalog.Catalog 的 Debug 日志
    sys_log_verbose_modules=org.apache.doris.catalog.Catalog
    
    # 开启包 org.apache.doris.catalog 下所有类的 Debug 日志
    sys_log_verbose_modules=org.apache.doris.catalog
    
    # 开启包 org 下所有类的 Debug 日志
    sys_log_verbose_modules=org
    

    添加配置项并重启 FE 节点,即可生效。

  2. 通过 FE UI 界面

    通过 UI 界面可以在运行时修改日志级别。无需重启 FE 节点。在浏览器打开 FE 节点的 http 端口(默认为 8030),并登陆 UI 界面。之后点击上方导航栏的 Log 标签。

    image.png

    我们在 Add 输入框中可以输入包名或者具体的类名,可以打开对应的 Debug 日志。如输入 org.apache.doris.catalog.Catalog 则可以打开 Catalog 类的 Debug 日志:

    image.png

    你也可以在 Delete 输入框中输入包名或者具体的类名,来关闭对应的 Debug 日志。

    这里的修改只会影响对应的 FE 节点的日志级别。不会影响其他 FE 节点的日志级别。

  3. 通过 API 修改

    通过以下 API 也可以在运行时修改日志级别。无需重启 FE 节点。

    curl -X POST -uuser:passwd fe_host:http_port/rest/v1/log?add_verbose=org.apache.doris.catalog.Catalog
    

    其中用户名密码为登陆 Doris 的 root 或 admin 用户。add_verbose 参数指定要开启 Debug 日志的包名或类名。若成功则返回:

    {
        "msg": "success", 
        "code": 0, 
        "data": {
            "LogConfiguration": {
                "VerboseNames": "org,org.apache.doris.catalog.Catalog", 
                "AuditNames": "slow_query,query,load", 
                "Level": "INFO"
            }
        }, 
        "count": 0
    }
    

    也可以通过以下 API 关闭 Debug 日志:

    curl -X POST -uuser:passwd fe_host:http_port/rest/v1/log?del_verbose=org.apache.doris.catalog.Catalog
    

    del_verbose 参数指定要关闭 Debug 日志的包名或类名。

开启 BE Debug 日志​

BE 的 Debug 日志目前仅支持通过配置文件修改并重启 BE 节点以生效。

sys_log_verbose_modules=plan_fragment_executor,olap_scan_node
sys_log_verbose_level=3

sys_log_verbose_modules 指定要开启的文件名,可以通过通配符 * 指定。比如:

sys_log_verbose_modules=*

表示开启所有 DEBUG 日志。

sys_log_verbose_level 表示 DEBUG 的级别。数字越大,则 DEBUG 日志越详细。取值范围在 1-10。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/856183.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

一维二维数组的指针于sizeof和strlen

目录 一维数组于指针的一些题二维数组于指针的一些题 一维数组于指针的一些题 对数组名的理解 数组名表示首元素地址 //两个例外: //sizeof(数组名):表示计算整个数组的大小 //&数组名:这里取的也是整个数组的大小,除了他两以…

ArcGIS、ENVI、InVEST、FRAGSTATS技术教程

专题一 空间数据获取与制图 1.1 软件安装与应用讲解 1.2 空间数据介绍 1.3海量空间数据下载 1.4 ArcGIS软件快速入门 1.5 Geodatabase地理数据库 专题二 ArcGIS专题地图制作 2.1专题地图制作规范 2.2 空间数据的准备与处理 2.3 空间数据可视化:地图符号与注…

23.8.9总结

接下来是答辩后的完善: 轮播图在管理员处可以进行修改, 消息处用websocket实现实时更新, 管理员审核界面,未审核的文章不能点赞,评论,收藏,不能用前端页面, 评论用二级评论&…

(el-Table)操作:Element-plus 中Table 表格组件:多选修改成支持单选及表格相关样式的调整

Ⅰ、Element-plus 提供的 Table 表格组件与想要目标情况的对比: 1、Element-plus 提供 Table 组件情况: 其一、Element-ui 自提供的 Table 代码情况为(示例的代码): // Element-plus 自提供的代码: // 此时是使用了 ts 语言环境…

.NET根据类的值进行序列化反序列化操作

前言: 在.NET种,序列化一般常用的方式是使用Newtonsoft.Json进行序列化和反序列化操作,比如创建一个Person类 public class Person {public string Name { get; set; }public int Age { get; set; } }序列化为json // 对象序列化为 JSONPe…

vuejs 设计与实现 - 快速diff算法

Vue.js 2 所采用的双端 Diff 算法。既然快速 Diff 算法如此高效,我们有必要了解它的思路。接下来,我们就着重讨论快速 Diff 算法的实现原理。 相同的前置元素和后置元素 快速 Diff 算法借鉴了纯文本 Diff 算法中预处理的步骤。 案例: 旧的…

数据结构-队列(C语言的简单实现)

简介 队列也是一种数据结构,队列也可以用来存放数字每次只能向队列里将入一个数字,每次只能从队列里获得一个数字在队列中,允许插入的一段称为入队口,允许删除的一段称为出队口它的原则是先进先出(FIFO: first in first out)&…

Java8实战-总结15

Java8实战-总结15 引入流流简介流与集合 引入流 流简介 要讨论流,先来谈谈集合,这是最容易上手的方式。Java 8中的集合支持一个新的stream方法,它会返回一个流(接口定义在java.util.stream.Stream里)。在后面会看到,还有很多其他…

自从学了C++之后,小雅兰就有对象了!!!(类与对象)(中)——“C++”

各位CSDN的uu们好呀,好久没有更新小雅兰的C专栏啦,话不多说,让我们进入类和对象的世界吧!!! 类的6个默认成员函数 构造函数 析构函数 拷贝构造函数 类的6个默认成员函数 如果一个类中什么成员都没有&am…

C 语言中,「.」与「->」有什么区别?

使用“.”的话,只需要声明一个结构体。格式是结构体类型名结构体名。然后通过结构体名加上“.”再加上域名,就可以引用结构体的域了。因为结构体的内存是自动分配的,就像使用int a;一样。而使用“->”的话,需要声明一个结构体的…

【三维编辑】Seal-3D:基于NeRF的交互式像素级编辑

文章目录 摘要一、引言二、方法2.1.基于nerf的编辑问题概述2.2.编辑指导生成2.3.即时预览的两阶段学生训练 三、实验总结 项目主页: https://windingwind.github.io/seal-3d/ 代码:https://github.com/windingwind/seal-3d/ 论文: https://arxiv.org/pdf/2307.15131…

vue3 动态导入src/page目录下的所有子文件,并自动注册所有页面组件

main.js添加一下代码: const importAll (modules) > {Object.keys(modules).forEach((key) > {const component key.replace(/src/, /).replace(.vue, );const componentName key.split(/).slice(-2, -1)[0] -page;app.component(componentName, modules…

Vue2-简介、模板语法、数据绑定、MVVM、数据代理、事件处理

🥔:成功之后就能光明正大地回望所有苦难 VUE-Day1 Vue简介1、Vue是什么?2、谁开发的? 发展历程?3、Vue的特点4、容器和实例、实例中的el和data总结 Vue模板语法插值语法指令语法 数据绑定1.单向数据绑定(v-…

SpringBoot入职学习

一、前言 公司入职,第一个事是把公司项目运行起来。然后在经过几天的颠沛流离,遇到一个事情。在创建yml文件的时候,需要设置自己的配置文件。当然还是先跑起来项目,就使用别人的yml文件。但是,到springboot配置那里卡…

视频抠像软件有哪些?简单好用视频抠像软件分享

在视频后期制作中,抠像通常用于将视频中的某个元素从其背景中分离出来。这种处理技术可以用于各种用途,比如创建特效、添加背景,或者将视频元素组合到新场景中。在电影、电视剧和广告等专业的影视制作中,抠像是一个常见的技术步骤…

cesium学习记录04-坐标系

一、地理坐标系和投影坐标系的关系 地理坐标系 (Geographic Coordinate System, GCS) 定义:地理坐标系是一个基于三维地球表面的坐标系统。它使用经度和纬度来表示地点的位置。 特点: 使用经纬度来定义位置。 基于特定的地球参考椭球体。 适用于全球范…

2023河南萌新联赛第(五)场:郑州轻工业大学 --亚托莉 -我挚爱的时光-

题目描述 亚托莉,-我挚爱的时光- 亚托莉自身机器可能有出了一点小故障,希望你能帮助她解决这个问题~ 亚托莉内部的操作系统的是 Linux 操作系统,不同于 Windows 操作系统。在大多数情况下, Linux 操作系统一般是通过…

死磕Android性能优化,卡顿原因与优化方案

随着移动互联网的快速发展,Android应用的性能优化变得尤为重要。卡顿是用户体验中最常见的问题之一,它会导致应用的响应变慢、界面不流畅,甚至影响用户的使用体验。因此,我们需要深入了解卡顿问题的原因,并寻找相应的解…

(Python)Requests+Pytest+Allure接口自动化测试框架从0到1搭建

前言:本文主要介绍在企业使用Python搭建接口自动化测试框架,数据驱动读取excel表里的数据,和数据库方面的交互,包括关系型数据库Mysql和非关系型数据库MongDB,连接数据库,读取数据库中数据,最后…

刷题DAY18

题目一 LRU算法的实现 做一个key-value结构 假如说这个LRU的大小为3 那么就是当KEY-value没满的时候 直接顺序加入 当满了的时候 把最长时间没有使用的key-value替换掉 要求实现一个put 和 get行为 时间复杂度均为O(1) 用双向链表哈希表实现 哈希表可以用系统封装的双向链表…