如何阅读服务器日志
以下是运行查询时的日志示例
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 状态码。 - 异步:
[ASYNC: completed]
。Metabase 是否能将结果传递给浏览器。如果 Metabase 无法传递结果,例如,如果有人启动查询并在查询完成前关闭了浏览器,异步状态将显示“已取消”。 - 响应时间:
46.9 ms
。Metabase 处理请求所花费的时间(从 Metabase 接收请求到将结果返回给浏览器)。 - 数据库调用:
(17 DB calls)
。使用的查询语句数量,除了对查询数据源的调用外,还包括对 Metabase 应用程序数据库的调用。 - 应用程序数据库连接:
App DB connections: 1/10
。活动连接的数量和可用连接池。 - Jetty 线程:
Jetty threads: 3/50 (4 idle, 0 queued)
。列出活动线程的数量和可用线程的总池。(4 idle, 0 queued)
是备用热线程和排队的线程数量。如果您发现线程池中的线程数量已达到最大值,请查看Metabase 规模化部署。 - Java 线程:
(72 total active threads)
。Metabase 使用的线程总数。 - 正在执行的查询:
Queries in flight: 0 (0 queued)
。连接到 Metabase 的所有数据库源中的活动查询和排队查询的数量。我们建议查看下面的数据库信息以排除与请求相关的数据库问题。 - 数据库信息:
h2 DB 4 connections: 0/1 (0 threads blocked)
。显示数据库类型、数据库 ID、活动连接/连接池(和队列)。此信息特定于与请求相关的数据库(在本例中为POST
请求),而不适用于所有正在执行的查询。
阅读其他版本的 Metabase 的文档。