New Relic 中的命令名称和进程显示名称有什么区别?这些信息从何而来?
What is the difference between command name and process display name in New Relic? Where this information comes from?
在 New Relic 中,当我 SELECT * FROM ProcessSample
时,我可以看到字段 COMMAND NAME
和 PROCESS DISPLAY NAME
。它们之间有什么区别,我可以在 bash 中使用什么命令来查看进程显示名称?
所以,为了说明,SELECT processId, commandName, processDisplayName FROM ProcessSample
returns:
PROCESS ID
COMMAND NAME
PROCESS DISPLAY NAME
42
ruby
sample_app
在我的例子中,sample_app
是 sytemd
服务名称。
进程显示名称是一个虚构的字段,仅存在于 New Relic 中。
它不是来自过程本身。你无法在 bash
中获得它。它由 New Relic 决定,如您在 this entry in the New Relic data dictionary.
中所见
processDisplayName
The display name (friendly name) of the process.
This is derived from the command name by default, but if it can be determined that the process is associated with a service from the inventory system, New Relic uses the service name. Another source of the name may be a parsed component of the command line, if it is a known command line format (for example, Java app).
所以,它当然来自 运行 系统,但 New Relic 甚至可能只提取您所看到的部分内容。所以你不会在 Linux.
中找到相同的字段
这也解释了为什么您会在此处看到服务名称。
在 New Relic 中,当我 SELECT * FROM ProcessSample
时,我可以看到字段 COMMAND NAME
和 PROCESS DISPLAY NAME
。它们之间有什么区别,我可以在 bash 中使用什么命令来查看进程显示名称?
所以,为了说明,SELECT processId, commandName, processDisplayName FROM ProcessSample
returns:
PROCESS ID | COMMAND NAME | PROCESS DISPLAY NAME |
---|---|---|
42 | ruby | sample_app |
在我的例子中,sample_app
是 sytemd
服务名称。
进程显示名称是一个虚构的字段,仅存在于 New Relic 中。
它不是来自过程本身。你无法在 bash
中获得它。它由 New Relic 决定,如您在 this entry in the New Relic data dictionary.
processDisplayName
The display name (friendly name) of the process.
This is derived from the command name by default, but if it can be determined that the process is associated with a service from the inventory system, New Relic uses the service name. Another source of the name may be a parsed component of the command line, if it is a known command line format (for example, Java app).
所以,它当然来自 运行 系统,但 New Relic 甚至可能只提取您所看到的部分内容。所以你不会在 Linux.
中找到相同的字段这也解释了为什么您会在此处看到服务名称。