日志记录
在 GDS 库中,有三种类型的日志记录:调试日志记录、进度日志记录和提示或警告日志记录。
调试日志记录 提供有关系统中事件的信息。例如,当算法计算完成时,可能会记录使用的内存量和总运行时间。异常事件(当操作无法正常完成时)也会记录。调试日志信息有助于了解系统中的事件,尤其是在排查问题时。
进度日志记录 用于跟踪预计会花费很长时间的操作的进度。这包括图投影、算法计算和结果写入。
提示或警告日志记录 为用户提供与其查询相关的有用提示或警告。
所有日志条目都写入为 Neo4j 数据库配置的日志文件。有关配置 Neo4j 日志的更多信息,请参阅 Neo4j 操作手册。
进度日志记录过程
GDS 库本身也跟踪进度。这使得除了查看日志文件外,还可以通过 Cypher 检查进度。要访问当前正在运行的任务(也称为作业)的进度信息,我们可以使用 list progress 过程:gds.listProgress
。GDS 库中的任务被定义为正在运行的过程,例如算法或图加载过程。
list progress 过程有两种模式,具体取决于是否设置了 jobId
参数:首先,如果没有设置 jobId
,该过程将为每个当前正在运行的任务生成一行。这可以看作是这些任务的摘要,例如,显示特定任务的总体进度。其次,如果设置了 jobId
参数,它将显示给定正在运行的作业的详细视图。详细视图将为作业在执行期间将执行的每个步骤或任务生成一行。它还将显示任务如何以树的形式结构化并打印每个单独任务的进度。
对于具有管理员权限的用户,此过程将列出所有用户的正在运行的任务。 |
语法
CALL gds.listProgress(jobId: String)
YIELD
username,
jobId,
taskName,
progress,
progressBar,
status,
timeStarted,
elapsedTime
名称 | 类型 | 默认值 | 可选 | 描述 |
---|---|---|---|---|
jobId |
字符串 |
"" |
是 |
正在运行的任务的 jobId。这将触发该特定任务的详细概述。 |
名称 | 类型 | 描述 |
---|---|---|
|
字符串 |
启动正在运行的任务的用户。 |
|
字符串 |
jobId |
|
字符串 |
taskName |
|
字符串 |
progress |
|
字符串 |
progressBar |
|
字符串 |
status |
|
timeStarted |
LocalTime |
|
elapsedTime |
Duration |
某些类型的作业通常需要一段时间才能运行,例如图形投影和运行算法,在其配置参数映射中需要一个可选的 `jobId`。这可以使跟踪它们更容易,因为它们将在 `gds.listProgress` 结果中列在提供的 `jobId` 下。对于算法,请参阅 `jobId` 参数文档 以了解更多信息。 |
用户日志
提示和警告也可以通过 GDS 库进行跟踪,并可以通过 Cypher 查询访问。GDS 库会跟踪每个用户生成提示或警告的 100 个最新任务,并将它们存储在内存中。当用户调用过程 `gds.userLog` 时,会返回他们相应的生成的提示和警告列表。