如何读取服务器日志
以下是运行查询的示例日志
2021-07-07 15:53:18,560 DEBUG middleware.log :: POST /api/dataset 202 [ASYNC: completed] 46.9 ms (17 DB calls) App DB connections: 1/10 Jetty threads: 3/50 (4 idle, 0 queued) (72 total active threads) Queries in flight: 0 (0 queued); h2 DB 4 connections: 0/1 (0 threads blocked)
让我们分析日志
- 日志时间:
2021-07-07 15:53:18,560
. - 日志级别:
DEBUG
. 存在不同的日志级别。要了解更多信息,请查看Metabase日志。 - 命名空间:.
middleware.log
. 您可以调整日志级别以从该命名空间获取更多或更少的信息。 - 方法:
POST
. HTTP方法动词,如POST、PUT、GET、DELETE。 - 路径:
/api/dataset
. 处理URL。注意,URL参数不包括在内,这可能会使调试某些问题变得有些棘手。 - 代码:
202
. HTTP状态码。 - 异步:
[异步:已完成]
. Metabase是否能够将结果传递到浏览器。如果Metabase无法传递结果,例如,如果有人在查询开始前关闭了浏览器,异步状态将显示“已取消”。 - 响应时间:
46.9 ms
. Metabase处理请求所需的时间(从Metabase接收到请求到返回结果给浏览器)。 - 数据库调用:
(17 DB调用)
. 所使用的查询语句的数量,这包括对查询数据源(们)的调用,还包括对Metabase应用程序数据库的调用。 - 应用程序数据库连接:
App DB连接:1/10
. 活跃连接数和可用的连接池。 - Jetty线程:
Jetty线程:3/50 (4空闲,0排队)
. 列出活跃线程数和可用的总线程池。`(4空闲,0排队)
`是备用热线程,以及排队线程的数量。如果您发现您正在耗尽线程池中的线程数,请查看Metabase at scale。 - Java线程:
(72总活跃线程)
. Metabase使用的总线程数。 - 正在进行的查询:
正在进行的查询:0 (0排队)
. 在所有连接到Metabase的数据库源中,活跃和排队的查询数量。我们建议检查下面的数据库信息以解决与请求相关的数据库问题。 - 数据库信息:
h2 DB 4连接:0/1 (0线程阻塞)
. 显示数据库类型、数据库ID、活动/池连接(和队列)。此信息特定于请求相关的数据库(在这种情况下是一个POST
请求),而不是正在进行的总体查询。
阅读其他Metabase版本的文档。