使用 SUM 总计创建 SUMO 逻辑饼图

Creating SUMO logic pie chart with SUM totals

我想创建一个 SUMO 逻辑饼图,但是我在使用 SUM 总计时遇到困难。下面你可以看到我的查询

_sourceCategory=MyAppSource
| parse "* [*] {\"machineName\":*,\"requestPath\":*,\"requestMethod\":*,\"requestSize\":*,\"requestType\":*,\"service\":*,\"duration\":*,\"stack\":*,\"errorMessage\":*,\"errorObject\":*,\"userName\":*,\"clientId\":*,\"statusCode\":*,\"traceIdentifier\":*}" as TimeStamp,Subject,MachineName,RequestPath,RequestMethod,RequestSize,RequestType,Service,Duration,Stack,ErrorMessage,ErrorObject,UserName,ClientID,StatusCode,TraceIdentifier
| if (Duration >= 40, 1, 0) as RequestTimeGreaterThan40ms
| if (Duration < 40, 1, 0) as RequestTimeUnder40ms 
| sum(RequestTimeGreaterThan40ms) as RequestTimeGreaterThan40ms, sum(RequestTimeUnder40ms) as RequestTimeUnder40ms
| RequestTimeGreaterThan40ms + RequestTimeUnder40ms as TotalRequest
| (RequestTimeGreaterThan40ms/TotalRequest)*100 as RequestTimeGreaterThan40ms
| (RequestTimeUnder40ms/TotalRequest)*100 as RequestTimeUnder40ms

这会产生这样的结果:

然而,当我查看我的饼图时,它看起来像这样

我的问题: 如您所见,我的问题是饼图仅获取第一个值 4.03717 而没有其他值。我需要将其他列转置为行,以便饼图可以理解这些是不同的值,它们都需要在饼图中表示。有谁知道最好的方法是什么?

我认为您的方法的问题在于您最终将超过 40 毫秒和低于 40 毫秒的请求分成两个 "categories",因此很难 "join"他们(抱歉措辞不太准确)。

更简洁的方法是使用单聚合(而不是双聚合):

_sourceCategory=MyAppSource
| parse "* [*] {\"machineName\":*,\"requestPath\":*,\"requestMethod\":*,\"requestSize\":*,\"requestType\":*,\"service\":*,\"duration\":*,\"stack\":*,\"errorMessage\":*,\"errorObject\":*,\"userName\":*,\"clientId\":*,\"statusCode\":*,\"traceIdentifier\":*}" as TimeStamp,Subject,MachineName,RequestPath,RequestMethod,RequestSize,RequestType,Service,Duration,Stack,ErrorMessage,ErrorObject,UserName,ClientID,StatusCode,TraceIdentifier
| if (Duration >= 40, "greater", "under") as RequestTimeVs40ms
| count by RequestTimeVs40ms

(免责声明:我目前受雇于 Sumo Logic)