swan-log-analytics
v1.6.2
Published
支持配置化的分析SwanSSR日志
Downloads
18
Readme
ssr-log-analytics
支持配置化的分析SwanSSR日志
[toc]
Get Start
npm install -g swan-log-analytics
ssrp --help
cat path/to/node.log.2020072218 | ssrp # 分析日志文件 path/to/node.log.2020072218
Target 配置
在运行ssrp
命令时可以使用--target path/to/target.json
指定一个 Target File(如不指定,则默认使用自带的default-target.json
文件)它是一个JSON文件,格式类似于:
[
{
"name": "SSR Count",
"parserName": "BluebirdInfo",
"valueExp": "$.intent",
"valueType": "count"
},
{
"name": "BlueBird all_t",
"parserName": "BluebirdInfo",
"valueExp": "$.hTiming.hAll - $.timing.downloadBody",
"idName": "Path\nRequest Id",
"idExp": "[$.path, $.requestId].join('\\n')",
"valueType": "value"
},
...
]
输出如下:
╔═══════════╤═════════╤═══════╗
║ SSR Count │ Percent │ Count ║
╟───────────┼─────────┼───────╢
║ ssr │ 100.00% │ 1568 ║
╚═══════════╧═════════╧═══════╝
╔════════════════╤═══════╤══════════════════════════╤════════════════════════════════════╤══════════════════════════╤════════════════════════════════╤══════════════════════════╤══════════════════════════╤══════════════════════════╗
║ BlueBird all_t │ Avg │ Min │ 50% Line │ 80% Line │ 90% Line │ 99% Line │ 99.99% Line │ Max ║
╟────────────────┼───────┼──────────────────────────┼────────────────────────────────────┼──────────────────────────┼────────────────────────────────┼──────────────────────────┼──────────────────────────┼──────────────────────────╢
║ Value │ 41.81 │ 4.286580810546875 │ 32.5355941772461 │ 54.18648986816406 │ 73.38887176513671 │ 193.00723815917968 │ 316.1943298339844 │ 316.1943298339844 ║
╟────────────────┼───────┼──────────────────────────┼────────────────────────────────────┼──────────────────────────┼────────────────────────────────┼──────────────────────────┼──────────────────────────┼──────────────────────────╢
║ Path │ - │ puffer/default │ duershow/template_article_vertical │ duershow/nbest_guide │ duershow/short_video_square_v2 │ dpl/dpl_templates │ dpl/dpl_templates_2_0 │ dpl/dpl_templates_2_0 ║
║ Request Id │ │ request_8171666981092554 │ request_34641834250056935 │ request_5335305289962853 │ request_10639886688399192 │ request_9104324820658392 │ request_8846124495077263 │ request_8846124495077263 ║
╚════════════════╧═══════╧══════════════════════════╧════════════════════════════════════╧══════════════════════════╧════════════════════════════════╧══════════════════════════╧══════════════════════════╧══════════════════════════╝
...
其中:
name
: 展示结果使用的名称,随便填parserName
: 使用的解析器(Parser),目前有如下几种解析器可选择:BluebirdInfo
: 解析 Bluebird 请求日志([INFO] bluebird
),具体结构见BluebirdInfo ParserBluebirdError
: 解析 Bluebird 错误日志([ERROR] bluebird
) ,具体结构详见下文BluebirdError ParserSwanInfo
: 解析 Swan 请求日志([INFO] swan
) ,具体结构详见下文SwanInfo Parser
valueType
: 收集数据的收集方式,有如下方式可选:valueExp
: 取值表达式,其中$
为解析器(Parser)解析出的结构。如$.intent
代表取解析后结构中的intent
字段 此字段支持进行表达式运算,语法与 JavaScript 表达式相同。示例:$.hTiming.hAll - $.timing.downloadBody
$.hTiming.hAll - $.timing.downloadBody > 300 ? 'Yes' : 'No'
idExp
: 可选,ID计算表达式,输出结果可额外包含ID字段供用户定位到具体用户,语法同valueExp
。如:$.logid
取 logid$.logid + ' | ' + $.requestId'
取 logid 和 RequestIdnew Date($.date).toLocaleTimeString()
取时间
idName
: 可选,显示在输出结果ID字段的显示名称idLimit
: 可选,在输出结果中包含多少条ID- (不推荐)~~
key
~~: 推荐使用valueExp
来代替。取值的路径,如hTiming.hAll
,实际上等同于使用valueExp
字段的$.hTiming.hAll
- (不推荐)~~
idKey
~~: 推荐使用valueExp
来代替。可选,收集数据时可收集该条请求的ID,便于定位请求。如logid
、requestId
等,语法与key
相同
可用的 Parser
BluebirdInfo Parser
可以把如下日志
[2020-07-22 14:37:41.687] [INFO] bluebird - {"intent":"ssr","logid":"[empty.logid ssr]","requestId":"request_16172620260695503","path":"puffer/history_collection","ssrRenderResult":{"hasCommands":true,"ssrT":"94.835","status":0,"msg":"ok"},"healthInfo":{"lastQps":3,"processingRequestCount":1},"ssrRenderInfo":{"clientName":"puffer","moduleName":"history_collection","needCommands":true,"onlyData":true,"renderSwanConfig":{"theme":"puffer"},"tplName":null,"sourceType":null,"sourceSubType":null,"viewBackground":"DEFAULT","originModuleName":"history_collection","originRoutedModuleName":"history_collection","moduleHash":"d7f128"},"ssrRequestInfo":{"query":"??????","logid":"[empty.logid ssr]"},"ssrDeviceInfo":{"width":1024,"height":600,"devicePixelRatio":1,"enableWakeup":true,"swanVersion":"Swan/1.36.8 JsCore/1.36.5","theme":"puffer"},"config":{"_global":{"_disabled":false,"_whenGetReadyError":"EXIT","_whenCanUseError":"EMIT_EVENT","_whenRunError":"EMIT_EVENT","debug":false},"_public":{"ssr-client-cache":{"enabled":false,"forceRefresh":{"moduleNames":[]},"include":{"moduleNames":["endless_square","endless_square_v2"]},"exclude":{"moduleNames":[]}}},"_core":{"_global":{"_disabled":false,"_whenGetReadyError":"EXIT","_whenCanUseError":"EMIT_EVENT","_whenRunError":"EMIT_EVENT","debug":false},"_public":{"ssr-client-cache":{"enabled":false,"forceRefresh":{"moduleNames":[]},"include":{"moduleNames":["endless_square","endless_square_v2"]},"exclude":{"moduleNames":[]}}},"_core":{"debug":true,"qpsProtect":{"maxQps":80,"outputResult":{"statusCode":200,"head":{"Content-Type":"application/json"},"body":"{\"status\":9999, \"msg\":\"The QSP is overflowing.\"}"}}},"debug":true,"qpsProtect":{"maxQps":80,"outputResult":{"statusCode":200,"head":{"Content-Type":"application/json"},"body":"{\"status\":9999, \"msg\":\"The QSP is overflowing.\"}"}}}},"hTiming":{"hAll":110.56,"hInput":1.99,"hOutput":5.89,"hResolve":100.63,"hMiddleware":105.83,"hEngine":1.9,"hEngineInput":0.42,"hEngineOutput":1.44,"hEngineResolve":0.04,"hQueuing":1.97},"timing":{"onRequest":110.56397247314453,"resolver onRequest":100.66239166259766,"resolver execMiddlewares":100.6346664428711,"exec resolver.ssr-render-commands":100.52449035644531,"output-processor onRequest":5.887046813964844,"output-processor execMiddlewares":5.842079162597656,"exec output-processor.ssr-compress":3.047454833984375,"input-processor onRequest":1.9861984252929688,"input-processor execMiddlewares":1.711212158203125,"downloadBody":0.9182662963867188,"exec output-processor.ssr-logger":0.5603561401367188,"beforeExec output-processor.none-of-business":0.5386886596679688,"queuing output-processor.none-of-business":0.5344009399414062,"exec input-processor.ssr-route":0.4734954833984375,"beforeExec output-processor.ssr-product-trace-logger":0.41925048828125,"queuing output-processor.ssr-product-trace-logger":0.4152679443359375,"exec input-processor.ssr-record-log-info":0.25736236572265625,"queuing worker resolver.ssr-render-commands":0.21166229248046875,"exec output-processor.ssr-write-body":0.1521759033203125,"beforeExec input-processor.generate-request-id":0.14609527587890625,"queuing input-processor.generate-request-id":0.142578125,"exec output-processor.ssr-bluebird-logger":0.10068511962890625,"exec input-processor.ssr-rewrite-info":0.08469390869140625,"beforeExec output-processor.echo-json":0.0807037353515625,"exec input-processor.intent-recognizer":0.07891845703125,"queuing output-processor.echo-json":0.078460693359375,"exec output-processor.ssr-write-code-head":0.0770416259765625,"exec input-processor.generate-request-id":0.072235107421875,"beforeExec output-processor.ssr-clint-cache-sum-info":0.06764984130859375,"queuing output-processor.ssr-clint-cache-sum-info":0.06573486328125,"beforeExec output-processor.echo-message":0.06426239013671875,"beforeExec output-processor.ssr-bluebird-logger":0.06298065185546875,"queuing output-processor.ssr-bluebird-logger":0.06038665771484375,"exec output-processor.ssr-clint-cache-sum-info":0.0589447021484375,"queuing output-processor.echo-message":0.056304931640625,"exec input-processor.ssr-info-parser":0.05507659912109375,"exec input-processor.ssr-generate-native-analytics-info":0.04677581787109375,"beforeExec output-processor.ssr-write-body":0.0397491455078125,"beforeExec output-processor.ssr-logger":0.03911590576171875,"queuing output-processor.ssr-write-body":0.0369873046875,"queuing output-processor.ssr-logger":0.03610992431640625,"exec input-processor.ssr-cdn-speedup":0.0354461669921875,"beforeExec input-processor.ssr-client-cache-render-info":0.03141021728515625,"beforeExec input-processor.intent-recognizer":0.030517578125,"exec output-processor.none-of-business":0.029632568359375,"beforeExec output-processor.ssr-write-code-head":0.029083251953125,"exec output-processor.echo-message":0.02849578857421875,"queuing input-processor.ssr-client-cache-render-info":0.0276031494140625,"beforeExec input-processor.ssr-info-parser":0.0273590087890625,"beforeExec resolver.ssr-render-commands":0.02728271484375,"beforeExec input-processor.ssr-cdn-speedup":0.02716064453125,"queuing output-processor.ssr-write-code-head":0.027008056640625,"queuing input-processor.intent-recognizer":0.02684783935546875,"queuing input-processor.ssr-info-parser":0.02606201171875,"queuing input-processor.ssr-cdn-speedup":0.025543212890625,"beforeExec output-processor.config-write-body":0.02520751953125,"beforeExec output-processor.ssr-compress":0.02478790283203125,"exec input-processor.ssr-ts-route":0.0246734619140625,"queuing resolver.ssr-render-commands":0.02408599853515625,"exec output-processor.echo-json":0.02381134033203125,"beforeExec input-processor.ssr-record-log-info":0.02364349365234375,"exec output-processor.ssr-product-trace-logger":0.023345947265625,"exec input-processor.ssr-client-cache-render-info":0.0233154296875,"queuing output-processor.config-write-body":0.023101806640625,"queuing input-processor.ssr-record-log-info":0.0218658447265625,"beforeExec input-processor.ssr-client-catch-count-etag":0.0216217041015625,"exec input-processor.ssr-client-catch-count-etag":0.0213775634765625,"queuing output-processor.ssr-compress":0.0206298828125,"queuing input-processor.ssr-client-catch-count-etag":0.0201416015625,"beforeExec input-processor.config-parse-info":0.01972198486328125,"beforeExec input-processor.ssr-rewrite-info":0.01970672607421875,"beforeExec input-processor.ssr-ts-route":0.019500732421875,"afterExec output-processor.none-of-business":0.019378662109375,"queuing input-processor.config-parse-info":0.01856231689453125,"exec output-processor.config-write-body":0.01825714111328125,"queuing input-processor.ssr-ts-route":0.0182037353515625,"beforeExec input-processor.ssr-generate-native-analytics-info":0.01720428466796875,"beforeExec input-processor.ssr-route":0.017059326171875,"exec input-processor.config-parse-info":0.01654815673828125,"queuing input-processor.ssr-rewrite-info":0.01641082763671875,"queuing input-processor.ssr-generate-native-analytics-info":0.01599884033203125,"queuing input-processor.ssr-route":0.0157470703125,"afterExec resolver.ssr-render-commands":0.01251983642578125,"afterExec output-processor.echo-message":0.00696563720703125,"afterExec input-processor.generate-request-id":0.00608062744140625,"afterExec output-processor.ssr-compress":0.00518035888671875,"afterExec output-processor.ssr-clint-cache-sum-info":0.00347137451171875,"afterExec output-processor.ssr-write-body":0.003265380859375,"afterExec output-processor.ssr-logger":0.00270843505859375,"afterExec output-processor.ssr-write-code-head":0.00264739990234375,"afterExec output-processor.ssr-product-trace-logger":0.0025482177734375,"afterExec output-processor.ssr-bluebird-logger":0.0021514892578125,"afterExec output-processor.echo-json":0.00208282470703125,"afterExec input-processor.ssr-route":0.00185394287109375,"afterExec input-processor.ssr-record-log-info":0.0016937255859375,"afterExec input-processor.intent-recognizer":0.0016326904296875,"afterExec output-processor.config-write-body":0.00151824951171875,"afterExec input-processor.ssr-ts-route":0.00124359130859375,"afterExec input-processor.ssr-client-cache-render-info":0.00121307373046875,"afterExec input-processor.ssr-rewrite-info":0.0011749267578125,"afterExec input-processor.ssr-cdn-speedup":0.00116729736328125,"afterExec input-processor.ssr-generate-native-analytics-info":0.00110626220703125,"afterExec input-processor.ssr-info-parser":0.0010986328125,"afterExec input-processor.ssr-client-catch-count-etag":0.0010528564453125,"afterExec input-processor.config-parse-info":0.00087738037109375},"timeline":{"onRequest":0,"downloadBody":0.01433563232421875,"/downloadBody":0.9326019287109375,"input-processor onRequest":1.6922988891601562,"input-processor execMiddlewares":1.913238525390625,"beforeExec input-processor.generate-request-id":1.9393997192382812,"queuing input-processor.generate-request-id":1.942169189453125,"/queuing input-processor.generate-request-id":2.084747314453125,"/beforeExec input-processor.generate-request-id":2.0854949951171875,"exec input-processor.generate-request-id":2.0873260498046875,"/exec input-processor.generate-request-id":2.1595611572265625,"afterExec input-processor.generate-request-id":2.1616058349609375,"/afterExec input-processor.generate-request-id":2.1676864624023438,"beforeExec input-processor.intent-recognizer":2.1729812622070312,"queuing input-processor.intent-recognizer":2.1761550903320312,"/queuing input-processor.intent-recognizer":2.2030029296875,"/beforeExec input-processor.intent-recognizer":2.2034988403320312,"exec input-processor.intent-recognizer":2.20379638671875,"/exec input-processor.intent-recognizer":2.28271484375,"afterExec input-processor.intent-recognizer":2.2839508056640625,"/afterExec input-processor.intent-recognizer":2.28558349609375,"beforeExec input-processor.ssr-record-log-info":2.2907791137695312,"queuing input-processor.ssr-record-log-info":2.2921600341796875,"/queuing input-processor.ssr-record-log-info":2.31402587890625,"/beforeExec input-processor.ssr-record-log-info":2.314422607421875,"exec input-processor.ssr-record-log-info":2.3147354125976562,"/exec input-processor.ssr-record-log-info":2.5720977783203125,"afterExec input-processor.ssr-record-log-info":2.5734329223632812,"/afterExec input-processor.ssr-record-log-info":2.5751266479492188,"beforeExec input-processor.ssr-cdn-speedup":2.57843017578125,"queuing input-processor.ssr-cdn-speedup":2.5796279907226562,"/queuing input-processor.ssr-cdn-speedup":2.6051712036132812,"/beforeExec input-processor.ssr-cdn-speedup":2.6055908203125,"exec input-processor.ssr-cdn-speedup":2.6059341430664062,"/exec input-processor.ssr-cdn-speedup":2.6413803100585938,"afterExec input-processor.ssr-cdn-speedup":2.64251708984375,"/afterExec input-processor.ssr-cdn-speedup":2.6436843872070312,"beforeExec input-processor.ssr-info-parser":2.6483840942382812,"queuing input-processor.ssr-info-parser":2.6492691040039062,"/queuing input-processor.ssr-info-parser":2.6753311157226562,"/beforeExec input-processor.ssr-info-parser":2.6757431030273438,"exec input-processor.ssr-info-parser":2.676055908203125,"/exec input-processor.ssr-info-parser":2.7311325073242188,"afterExec input-processor.ssr-info-parser":2.7323379516601562,"/afterExec input-processor.ssr-info-parser":2.7334365844726562,"beforeExec input-processor.ssr-rewrite-info":2.7377853393554688,"queuing input-processor.ssr-rewrite-info":2.7387313842773438,"/queuing input-processor.ssr-rewrite-info":2.7551422119140625,"/beforeExec input-processor.ssr-rewrite-info":2.7574920654296875,"exec input-processor.ssr-rewrite-info":2.757843017578125,"/exec input-processor.ssr-rewrite-info":2.8425369262695312,"afterExec input-processor.ssr-rewrite-info":2.8437423706054688,"/afterExec input-processor.ssr-rewrite-info":2.8449172973632812,"beforeExec input-processor.ssr-ts-route":2.8480606079101562,"queuing input-processor.ssr-ts-route":2.8489608764648438,"/queuing input-processor.ssr-ts-route":2.8671646118164062,"/beforeExec input-processor.ssr-ts-route":2.8675613403320312,"exec input-processor.ssr-ts-route":2.8678817749023438,"/exec input-processor.ssr-ts-route":2.8925552368164062,"afterExec input-processor.ssr-ts-route":2.8936233520507812,"/afterExec input-processor.ssr-ts-route":2.894866943359375,"beforeExec input-processor.ssr-route":2.9029464721679688,"queuing input-processor.ssr-route":2.9038314819335938,"/queuing input-processor.ssr-route":2.9195785522460938,"/beforeExec input-processor.ssr-route":2.9200057983398438,"exec input-processor.ssr-route":2.9203109741210938,"/exec input-processor.ssr-route":3.3938064575195312,"afterExec input-processor.ssr-route":3.3955154418945312,"/afterExec input-processor.ssr-route":3.397369384765625,"beforeExec input-processor.ssr-client-cache-render-info":3.4032058715820312,"queuing input-processor.ssr-client-cache-render-info":3.4046401977539062,"/queuing input-processor.ssr-client-cache-render-info":3.4322433471679688,"/beforeExec input-processor.ssr-client-cache-render-info":3.4346160888671875,"exec input-processor.ssr-client-cache-render-info":3.4349822998046875,"/exec input-processor.ssr-client-cache-render-info":3.4582977294921875,"afterExec input-processor.ssr-client-cache-render-info":3.4594650268554688,"/afterExec input-processor.ssr-client-cache-render-info":3.4606781005859375,"beforeExec input-processor.ssr-client-catch-count-etag":3.4635543823242188,"queuing input-processor.ssr-client-catch-count-etag":3.4645843505859375,"/queuing input-processor.ssr-client-catch-count-etag":3.4847259521484375,"/beforeExec input-processor.ssr-client-catch-count-etag":3.4851760864257812,"exec input-processor.ssr-client-catch-count-etag":3.4854888916015625,"/exec input-processor.ssr-client-catch-count-etag":3.506866455078125,"afterExec input-processor.ssr-client-catch-count-etag":3.50799560546875,"/afterExec input-processor.ssr-client-catch-count-etag":3.5090484619140625,"beforeExec input-processor.ssr-generate-native-analytics-info":3.5119094848632812,"queuing input-processor.ssr-generate-native-analytics-info":3.5127410888671875,"/queuing input-processor.ssr-generate-native-analytics-info":3.5287399291992188,"/beforeExec input-processor.ssr-generate-native-analytics-info":3.52911376953125,"exec input-processor.ssr-generate-native-analytics-info":3.5296554565429688,"/exec input-processor.ssr-generate-native-analytics-info":3.5764312744140625,"afterExec input-processor.ssr-generate-native-analytics-info":3.5775527954101562,"/afterExec input-processor.ssr-generate-native-analytics-info":3.5786590576171875,"beforeExec input-processor.config-parse-info":3.5817489624023438,"queuing input-processor.config-parse-info":3.5825347900390625,"/queuing input-processor.config-parse-info":3.6010971069335938,"/beforeExec input-processor.config-parse-info":3.601470947265625,"exec input-processor.config-parse-info":3.6017837524414062,"/exec input-processor.config-parse-info":3.6183319091796875,"afterExec input-processor.config-parse-info":3.6194229125976562,"/afterExec input-processor.config-parse-info":3.62030029296875,"/input-processor execMiddlewares":3.62445068359375,"/input-processor onRequest":3.678497314453125,"resolver onRequest":3.6837844848632812,"resolver execMiddlewares":3.7050933837890625,"beforeExec resolver.ssr-render-commands":3.7212066650390625,"queuing resolver.ssr-render-commands":3.7232894897460938,"/queuing resolver.ssr-render-commands":3.74737548828125,"/beforeExec resolver.ssr-render-commands":3.7484893798828125,"exec resolver.ssr-render-commands":3.7503738403320312,"queuing worker resolver.ssr-render-commands":3.9310379028320312,"/queuing worker resolver.ssr-render-commands":4.1427001953125,"/exec resolver.ssr-render-commands":104.27486419677734,"afterExec resolver.ssr-render-commands":104.28144836425781,"/afterExec resolver.ssr-render-commands":104.2939682006836,"/resolver execMiddlewares":104.33975982666016,"/resolver onRequest":104.34617614746094,"output-processor onRequest":104.35374450683594,"output-processor execMiddlewares":104.38709259033203,"beforeExec output-processor.echo-message":104.4074935913086,"queuing output-processor.echo-message":104.41429138183594,"/queuing output-processor.echo-message":104.47059631347656,"/beforeExec output-processor.echo-message":104.47175598144531,"exec output-processor.echo-message":104.47274017333984,"/exec output-processor.echo-message":104.50123596191406,"afterExec output-processor.echo-message":104.50334930419922,"/afterExec output-processor.echo-message":104.51031494140625,"beforeExec output-processor.echo-json":104.51805877685547,"queuing output-processor.echo-json":104.51976776123047,"/queuing output-processor.echo-json":104.59822845458984,"/beforeExec output-processor.echo-json":104.59876251220703,"exec output-processor.echo-json":104.59908294677734,"/exec output-processor.echo-json":104.62289428710938,"afterExec output-processor.echo-json":104.6242904663086,"/afterExec output-processor.echo-json":104.62637329101562,"beforeExec output-processor.ssr-clint-cache-sum-info":104.63113403320312,"queuing output-processor.ssr-clint-cache-sum-info":104.63260650634766,"/queuing output-processor.ssr-clint-cache-sum-info":104.6983413696289,"/beforeExec output-processor.ssr-clint-cache-sum-info":104.69878387451172,"exec output-processor.ssr-clint-cache-sum-info":104.69908905029297,"/exec output-processor.ssr-clint-cache-sum-info":104.7580337524414,"afterExec output-processor.ssr-clint-cache-sum-info":104.75941467285156,"/afterExec output-processor.ssr-clint-cache-sum-info":104.76288604736328,"beforeExec output-processor.ssr-write-code-head":104.76869201660156,"queuing output-processor.ssr-write-code-head":104.77025604248047,"/queuing output-processor.ssr-write-code-head":104.7972640991211,"/beforeExec output-processor.ssr-write-code-head":104.79777526855469,"exec output-processor.ssr-write-code-head":104.79808044433594,"/exec output-processor.ssr-write-code-head":104.8751220703125,"afterExec output-processor.ssr-write-code-head":104.87845611572266,"/afterExec output-processor.ssr-write-code-head":104.881103515625,"beforeExec output-processor.ssr-compress":104.88589477539062,"queuing output-processor.ssr-compress":104.88762664794922,"/queuing output-processor.ssr-compress":104.90825653076172,"/beforeExec output-processor.ssr-compress":104.91068267822266,"exec output-processor.ssr-compress":104.9109878540039,"/exec output-processor.ssr-compress":107.95844268798828,"afterExec output-processor.ssr-compress":107.96067810058594,"/afterExec output-processor.ssr-compress":107.96585845947266,"beforeExec output-processor.ssr-write-body":107.97242736816406,"queuing output-processor.ssr-write-body":107.97470092773438,"/queuing output-processor.ssr-write-body":108.01168823242188,"/beforeExec output-processor.ssr-write-body":108.01217651367188,"exec output-processor.ssr-write-body":108.01248931884766,"/exec output-processor.ssr-write-body":108.16466522216797,"afterExec output-processor.ssr-write-body":108.16609191894531,"/afterExec output-processor.ssr-write-body":108.16935729980469,"beforeExec output-processor.config-write-body":108.17555236816406,"queuing output-processor.config-write-body":108.17720794677734,"/queuing output-processor.config-write-body":108.20030975341797,"/beforeExec output-processor.config-write-body":108.20075988769531,"exec output-processor.config-write-body":108.2010498046875,"/exec output-processor.config-write-body":108.21930694580078,"afterExec output-processor.config-write-body":108.2204360961914,"/afterExec output-processor.config-write-body":108.22195434570312,"beforeExec output-processor.none-of-business":108.2247085571289,"queuing output-processor.none-of-business":108.22814178466797,"/queuing output-processor.none-of-business":108.76254272460938,"/beforeExec output-processor.none-of-business":108.76339721679688,"exec output-processor.none-of-business":108.76371002197266,"/exec output-processor.none-of-business":108.79334259033203,"afterExec output-processor.none-of-business":108.79522705078125,"/afterExec output-processor.none-of-business":108.81460571289062,"beforeExec output-processor.ssr-logger":108.99543762207031,"queuing output-processor.ssr-logger":108.99805450439453,"/queuing output-processor.ssr-logger":109.03416442871094,"/beforeExec output-processor.ssr-logger":109.03455352783203,"exec output-processor.ssr-logger":109.03485107421875,"/exec output-processor.ssr-logger":109.59520721435547,"afterExec output-processor.ssr-logger":109.59686279296875,"/afterExec output-processor.ssr-logger":109.59957122802734,"beforeExec output-processor.ssr-product-trace-logger":109.60462951660156,"queuing output-processor.ssr-product-trace-logger":109.60786437988281,"/queuing output-processor.ssr-product-trace-logger":110.02313232421875,"/beforeExec output-processor.ssr-product-trace-logger":110.02388000488281,"exec output-processor.ssr-product-trace-logger":110.02426147460938,"/exec output-processor.ssr-product-trace-logger":110.047607421875,"afterExec output-processor.ssr-product-trace-logger":110.04949951171875,"/afterExec output-processor.ssr-product-trace-logger":110.05204772949219,"beforeExec output-processor.ssr-bluebird-logger":110.056640625,"queuing output-processor.ssr-bluebird-logger":110.05879211425781,"/queuing output-processor.ssr-bluebird-logger":110.11917877197266,"/beforeExec output-processor.ssr-bluebird-logger":110.11962127685547,"exec output-processor.ssr-bluebird-logger":110.11991882324219,"/exec output-processor.ssr-bluebird-logger":110.2206039428711,"afterExec output-processor.ssr-bluebird-logger":110.22210693359375,"/afterExec output-processor.ssr-bluebird-logger":110.22425842285156,"/output-processor execMiddlewares":110.22917175292969,"/output-processor onRequest":110.24079132080078,"/onRequest":110.56397247314453}}
解析成:
{
"date": "2020-07-22 14:37:41.687",
"intent": "ssr",
"logid": "[empty.logid ssr]",
"requestId": "request_16172620260695503",
"path": "puffer/history_collection",
"ssrRenderResult": {
"hasCommands": true,
"ssrT": "94.835",
"status": 0,
"msg": "ok"
},
"healthInfo": {
"lastQps": 3,
"processingRequestCount": 1
},
...
}
在valueExp
中可用$.healthInfo.lastQps
来拿到3
,用如下 Target 可计算 QPS 情况
[
{
"name": "QPS",
"parserName": "BluebirdInfo",
"valueExp": "$.healthInfo.lastQps",
"idName": "Request ID",
"idExp": "$.requestId",
"valueType": "value"
}
]
输出如下
╔════════════╤═══════╤══════════════════════════╤══════════════════════════╤══════════════════════════╤═══════════════════════════╤═══════════════════════════╤══════════════════════════╗
║ QPS │ Avg │ Min │ 50% Line │ 80% Line │ 90% Line │ 99% Line │ Max ║
╟────────────┼───────┼──────────────────────────┼──────────────────────────┼──────────────────────────┼───────────────────────────┼───────────────────────────┼──────────────────────────╢
║ Value │ 49.72 │ 28 │ 50 │ 51 │ 52 │ 53 │ 54 ║
╟────────────┼───────┼──────────────────────────┼──────────────────────────┼──────────────────────────┼───────────────────────────┼───────────────────────────┼──────────────────────────╢
║ Request ID │ - │ request_0750907654895765 │ request_6986896887533869 │ request_0634741794082021 │ request_24549228768520792 │ request_08837399306808758 │ request_3920408686269159 ║
╚════════════╧═══════╧══════════════════════════╧══════════════════════════╧══════════════════════════╧═══════════════════════════╧═══════════════════════════╧══════════════════════════╝
BluebirdError Parser
可以把如下日志
[2020-07-22 14:37:44.455] [ERROR] bluebird - [QPS_OVERFLOW] [P0] [njjs-bac-orp-dumi-sandbox-84708.njjs.baidu.com]: {"qps":80,"time":"2020-07-22T06:37:44.455Z","processingRequestCount":7}
解析成:
{
"date": "2020-07-22 14:37:44.455",
"type": "QPS_OVERFLOW",
"name": "njjs-bac-orp-dumi-sandbox-84708.njjs.baidu.com",
"level": "P0",
"context": {
"qps":80,
"time":"2020-07-22T06:37:44.455Z",
"processingRequestCount":7
}
}
在valueExp
中可用$.level
来拿到P0
,用如下 Target 可计算不同level
出现的次数
[
{
"name": "Error Level",
"parserName": "BluebirdError",
"valueExp": "$.level",
"idName": "Date",
"idExp": "$.date",
"valueType": "count"
}
]
输出如下
╔══════════════╤═════════╤═══════╤════════════════════════════╗
║ Has Commands │ Percent │ Count │ Date ║
╟──────────────┼─────────┼───────┼────────────────────────────╢
║ P0 │ 0.46% │ 41 │ 2020-07-22 14:20:24.929 ║
║ │ │ │ 2020-07-22 14:20:24.936 ║
║ │ │ │ 2020-07-22 14:20:24.952 ║
║ │ │ │ 2020-07-22 14:20:24.954 ║
║ │ │ │ 2020-07-22 14:20:24.982 ║
╟──────────────┼─────────┼───────┼────────────────────────────╢
║ P1 │ 99.54% │ 8792 │ 2020-07-22 14:18:11.319 ║
║ │ │ │ 2020-07-22 14:18:11.316 ║
║ │ │ │ 2020-07-22 14:18:11.312 ║
║ │ │ │ 2020-07-22 14:18:11.314 ║
║ │ │ │ 2020-07-22 14:18:11.312 ║
╚══════════════╧═════════╧═══════╧════════════════════════════╝
SwanInfo Parser
可以把如下日志
[2020-07-23 16:02:56.425] [INFO] swan - {"logid": "e6c0fe5bb5d946b6b846d55d0bd8f9fb","pool_info": {"spareResourceCapacity": 0,"size": 4,"available": 0,"borrowed": 4,"pending": 40,"max": 4,"min": 2},"all_t_beg": "0.000","all_t_fin": "506.777","all_t": "506.777","self_t": "506.777","hostname": "njjs-bac-orp-dumi-sandbox-84708.njjs.baidu.com:8310"}
解析成:
{
"date": "2020-07-23 16:02:56.425",
"logid": "e6c0fe5bb5d946b6b846d55d0bd8f9fb",
"pool_info": {
"spareResourceCapacity": 0,
"size": 4,
"available": 0,
"borrowed": 4,
"pending": 40,
"max": 4,
"min": 2
},
"all_t_beg": "0.000",
"all_t_fin": "506.777",
"all_t": "506.777",
"self_t": "506.777",
"hostname": "njjs-bac-orp-dumi-sandbox-84708.njjs.baidu.com:8310"
}
在valueExp
中可用$.self_t
来拿到506.777
,用如下 Target 可计算 QPS 情况
[
{
"name": "self_t",
"parserName": "SwanInfo",
"valueExp": "$.self_t",
"idName": "logid",
"idExp": "$.logid",
"valueType": "value"
}
]
输出如下
╔════════════╤════════╤══════════════════════════════════╤══════════════════════════════════╤══════════════════════════════════╤══════════════════════════════════╤══════════════════════════════════╤══════════════════════════════════╤══════════════════════════════════╗
║ self_t │ Avg │ Min │ 50% Line │ 80% Line │ 90% Line │ 99% Line │ 99.99% Line │ Max ║
╟────────────┼────────┼──────────────────────────────────┼──────────────────────────────────┼──────────────────────────────────┼──────────────────────────────────┼──────────────────────────────────┼──────────────────────────────────┼──────────────────────────────────╢
║ Value │ 514.39 │ 7.977 │ 505.204 │ 678.278 │ 765.063 │ 1039.74 │ 1316.635 │ 1316.635 ║
╟────────────┼────────┼──────────────────────────────────┼──────────────────────────────────┼──────────────────────────────────┼──────────────────────────────────┼──────────────────────────────────┼──────────────────────────────────┼──────────────────────────────────╢
║ logid │ - │ 23317228c06a4d7dbc5696ce28e22575 │ c2e8d0c78e3744718f161e9f6eb4e0b8 │ 6e80760c919a46908964b0be52be2a04 │ 113aad45a0e6488a907ae5ceefa3f632 │ fa3be95e48ee41239691bd30477d832f │ 579ce92ebd3848cbb1cb78702b5c32eb │ 579ce92ebd3848cbb1cb78702b5c32eb ║
╚════════════╧════════╧══════════════════════════════════╧══════════════════════════════════╧══════════════════════════════════╧══════════════════════════════════╧══════════════════════════════════╧══════════════════════════════════╧══════════════════════════════════╝
样例
valueType 为 value
Target 的配置:
[
{
"name": "BlueBird all_t",
"parserName": "BluebirdInfo",
"valueExp": "$.hTiming.hAll - $.timing.downloadBody",
"idName": "Path\nRequest Id",
"idExp": "[$.path, $.requestId].join('\\n')",
"valueType": "value"
}
]
输出样例
╔════════════════╤═══════╤══════════════════════════╤════════════════════════════════════╤══════════════════════════╤════════════════════════════════╤══════════════════════════╤══════════════════════════╤══════════════════════════╗
║ BlueBird all_t │ Avg │ Min │ 50% Line │ 80% Line │ 90% Line │ 99% Line │ 99.99% Line │ Max ║
╟────────────────┼───────┼──────────────────────────┼────────────────────────────────────┼──────────────────────────┼────────────────────────────────┼──────────────────────────┼──────────────────────────┼──────────────────────────╢
║ Value │ 41.81 │ 4.286580810546875 │ 32.5355941772461 │ 54.18648986816406 │ 73.38887176513671 │ 193.00723815917968 │ 316.1943298339844 │ 316.1943298339844 ║
╟────────────────┼───────┼──────────────────────────┼────────────────────────────────────┼──────────────────────────┼────────────────────────────────┼──────────────────────────┼──────────────────────────┼──────────────────────────╢
║ Path │ - │ puffer/default │ duershow/template_article_vertical │ duershow/nbest_guide │ duershow/short_video_square_v2 │ dpl/dpl_templates │ dpl/dpl_templates_2_0 │ dpl/dpl_templates_2_0 ║
║ Request Id │ │ request_8171666981092554 │ request_34641834250056935 │ request_5335305289962853 │ request_10639886688399192 │ request_9104324820658392 │ request_8846124495077263 │ request_8846124495077263 ║
╚════════════════╧═══════╧══════════════════════════╧════════════════════════════════════╧══════════════════════════╧════════════════════════════════╧══════════════════════════╧══════════════════════════╧══════════════════════════╝
valueType 为 count
Target 的配置:
[
{
"name": "Has Commands",
"parserName": "BluebirdInfo",
"key": "ssrRenderResult.hasCommands",
"idName": "ID",
"idExp": "$.requestId",
"idLimit": 5,
"valueType": "count"
}
]
输出样例
╔══════════════╤═════════╤═══════╤════════════════════════════╗
║ Has Commands │ Percent │ Count │ ID ║
╟──────────────┼─────────┼───────┼────────────────────────────╢
║ false │ 0.46% │ 41 │ request_9986736127922975 ║
║ │ │ │ request_39623550315558664 ║
║ │ │ │ request_2796199321891437 ║
║ │ │ │ request_1653490488995084 ║
║ │ │ │ request_4702562762606821 ║
╟──────────────┼─────────┼───────┼────────────────────────────╢
║ true │ 99.54% │ 8792 │ request_8972312821852146 ║
║ │ │ │ request_008504496947879359 ║
║ │ │ │ request_9534020747138754 ║
║ │ │ │ request_6995016848994999 ║
║ │ │ │ request_6041686592879114 ║
╚══════════════╧═════════╧═══════╧════════════════════════════╝
valueType 为 valueInfo
Note: 此功能执行缓慢!
Target 的配置:
[
{
"name": "Exec Middleware",
"parserName": "BluebirdInfo",
"valueExp": "Object.keys($.timing).filter(key => key.startsWith('exec')).reduce((info, key) => { info[key] = $.timing[key]; return info}, {})",
"valueType": "valueInfo"
}
]
输出样例
╔═════════════════════════════════════════════════════════╤═══════╤═════════════════════╤═════════════════════╤═════════════════════╤═════════════════════╤═════════════════════╤════════════════════╤════════════════════╗
║ Exec Middleware │ Avg │ Min │ 50% Line │ 80% Line │ 90% Line │ 99% Line │ 99.99% Line │ Max ║
╟─────────────────────────────────────────────────────────┼───────┼─────────────────────┼─────────────────────┼─────────────────────┼─────────────────────┼─────────────────────┼────────────────────┼────────────────────╢
║ exec resolver.ssr-render-commands │ 33.98 │ 0.01239776611328125 │ 24.891929626464844 │ 44.3218994140625 │ 61.691131591796875 │ 154.6008529663086 │ 248.29937744140625 │ 248.29937744140625 ║
╟─────────────────────────────────────────────────────────┼───────┼─────────────────────┼─────────────────────┼─────────────────────┼─────────────────────┼─────────────────────┼────────────────────┼────────────────────╢
║ exec output-processor.ssr-compress │ 1.14 │ 0.0413818359375 │ 0.7776718139648438 │ 1.7037353515625 │ 2.4621353149414062 │ 5.551422119140625 │ 9.161476135253906 │ 9.161476135253906 ║
╟─────────────────────────────────────────────────────────┼───────┼─────────────────────┼─────────────────────┼─────────────────────┼─────────────────────┼─────────────────────┼────────────────────┼────────────────────╢
║ exec output-processor.ssr-logger │ 0.56 │ 0.1551361083984375 │ 0.31589508056640625 │ 1.0015945434570312 │ 1.1048583984375 │ 2.079559326171875 │ 4.87579345703125 │ 4.87579345703125 ║
╟─────────────────────────────────────────────────────────┼───────┼─────────────────────┼─────────────────────┼─────────────────────┼─────────────────────┼─────────────────────┼────────────────────┼────────────────────╢
║ exec input-processor.ssr-record-log-info │ 0.27 │ 0.05883026123046875 │ 0.14562225341796875 │ 0.46993255615234375 │ 0.5239639282226562 │ 1.7138595581054688 │ 3.6461944580078125 │ 3.6461944580078125 ║
╟─────────────────────────────────────────────────────────┼───────┼─────────────────────┼─────────────────────┼─────────────────────┼─────────────────────┼─────────────────────┼────────────────────┼────────────────────╢
║ exec input-processor.ssr-filter-data │ 0.26 │ 0.0099945068359375 │ 0.2823486328125 │ 0.38796234130859375 │ 0.44075775146484375 │ 1.4184722900390625 │ 3.035491943359375 │ 3.035491943359375 ║
╟─────────────────────────────────────────────────────────┼───────┼─────────────────────┼─────────────────────┼─────────────────────┼─────────────────────┼─────────────────────┼────────────────────┼────────────────────╢
║ exec input-processor.ssr-route │ 0.25 │ 0.04076385498046875 │ 0.0955810546875 │ 0.1786651611328125 │ 0.25730133056640625 │ 2.537689208984375 │ 19.672317504882812 │ 19.672317504882812 ║
╟─────────────────────────────────────────────────────────┼───────┼─────────────────────┼─────────────────────┼─────────────────────┼─────────────────────┼─────────────────────┼────────────────────┼────────────────────╢
║ exec input-processor.ssr-generate-code │ 0.21 │ 0.0866546630859375 │ 0.15340423583984375 │ 0.207427978515625 │ 0.2663421630859375 │ 1.0151443481445312 │ 3.47314453125 │ 3.47314453125 ║
╟─────────────────────────────────────────────────────────┼───────┼─────────────────────┼─────────────────────┼─────────────────────┼─────────────────────┼─────────────────────┼────────────────────┼────────────────────╢
║ exec output-processor.ssr-write-body │ 0.10 │ 0.050262451171875 │ 0.07928466796875 │ 0.11154937744140625 │ 0.1389923095703125 │ 0.2758636474609375 │ 2.8430328369140625 │ 2.8430328369140625 ║
╟─────────────────────────────────────────────────────────┼───────┼─────────────────────┼─────────────────────┼─────────────────────┼─────────────────────┼─────────────────────┼────────────────────┼────────────────────╢
║ exec output-processor.ssr-clint-cache-sum-info │ 0.07 │ 0.0223236083984375 │ 0.071624755859375 │ 0.08112335205078125 │ 0.08690643310546875 │ 0.1291046142578125 │ 2.13336181640625 │ 2.13336181640625 ║
╟─────────────────────────────────────────────────────────┼───────┼─────────────────────┼─────────────────────┼─────────────────────┼─────────────────────┼─────────────────────┼────────────────────┼────────────────────╢
║ exec output-processor.ssr-bluebird-logger │ 0.06 │ 0.0388031005859375 │ 0.05493927001953125 │ 0.0626220703125 │ 0.06928253173828125 │ 0.11639404296875 │ 0.5933609008789062 │ 0.5933609008789062 ║
╟─────────────────────────────────────────────────────────┼───────┼─────────────────────┼─────────────────────┼─────────────────────┼─────────────────────┼─────────────────────┼────────────────────┼────────────────────╢
║ exec input-processor.ssr-client-catch-count-etag │ 0.06 │ 0.021575927734375 │ 0.02719879150390625 │ 0.036895751953125 │ 0.04346466064453125 │ 0.8671798706054688 │ 4.669586181640625 │ 4.669586181640625 ║
╟─────────────────────────────────────────────────────────┼───────┼─────────────────────┼─────────────────────┼─────────────────────┼─────────────────────┼─────────────────────┼────────────────────┼────────────────────╢
║ exec output-processor.ssr-write-code-head │ 0.05 │ 0.03426361083984375 │ 0.04563140869140625 │ 0.05096435546875 │ 0.055389404296875 │ 0.08282470703125 │ 0.6703262329101562 │ 0.6703262329101562 ║
╟─────────────────────────────────────────────────────────┼───────┼─────────────────────┼─────────────────────┼─────────────────────┼─────────────────────┼─────────────────────┼────────────────────┼────────────────────╢
║ exec input-processor.ssr-rewrite-info │ 0.05 │ 0.0294036865234375 │ 0.04251861572265625 │ 0.0487823486328125 │ 0.0550079345703125 │ 0.0977020263671875 │ 1.5856399536132812 │ 1.5856399536132812 ║
╟─────────────────────────────────────────────────────────┼───────┼─────────────────────┼─────────────────────┼─────────────────────┼─────────────────────┼─────────────────────┼────────────────────┼────────────────────╢
║ exec input-processor.generate-request-id │ 0.04 │ 0.0227813720703125 │ 0.03606414794921875 │ 0.04053497314453125 │ 0.0443115234375 │ 0.07915496826171875 │ 1.5381011962890625 │ 1.5381011962890625 ║
╟─────────────────────────────────────────────────────────┼───────┼─────────────────────┼─────────────────────┼─────────────────────┼─────────────────────┼─────────────────────┼────────────────────┼────────────────────╢
║ exec input-processor.ssr-cdn-speedup │ 0.04 │ 0.0162353515625 │ 0.023529052734375 │ 0.02783966064453125 │ 0.036285400390625 │ 0.36756134033203125 │ 2.1507110595703125 │ 2.1507110595703125 ║
╟─────────────────────────────────────────────────────────┼───────┼─────────────────────┼─────────────────────┼─────────────────────┼─────────────────────┼─────────────────────┼────────────────────┼────────────────────╢
║ exec input-processor.intent-recognizer │ 0.04 │ 0.02056884765625 │ 0.03387451171875 │ 0.03873443603515625 │ 0.04413604736328125 │ 0.076690673828125 │ 2.4563980102539062 │ 2.4563980102539062 ║
╟─────────────────────────────────────────────────────────┼───────┼─────────────────────┼─────────────────────┼─────────────────────┼─────────────────────┼─────────────────────┼────────────────────┼────────────────────╢
║ exec input-processor.ssr-info-parser │ 0.03 │ 0.01755523681640625 │ 0.023040771484375 │ 0.02639007568359375 │ 0.03102874755859375 │ 0.04557037353515625 │ 1.4704360961914062 │ 1.4704360961914062 ║
╟─────────────────────────────────────────────────────────┼───────┼─────────────────────┼─────────────────────┼─────────────────────┼─────────────────────┼─────────────────────┼────────────────────┼────────────────────╢
║ exec output-processor.ssr-analytics-logger │ 0.03 │ 0.0158843994140625 │ 0.02118682861328125 │ 0.02381134033203125 │ 0.0268096923828125 │ 0.04787445068359375 │ 4.3433837890625 │ 4.3433837890625 ║
╟─────────────────────────────────────────────────────────┼───────┼─────────────────────┼─────────────────────┼─────────────────────┼─────────────────────┼─────────────────────┼────────────────────┼────────────────────╢
║ exec input-processor.ssr-generate-native-analytics-info │ 0.03 │ 0.01862335205078125 │ 0.0263519287109375 │ 0.02989959716796875 │ 0.03362274169921875 │ 0.069732666015625 │ 3.03289794921875 │ 3.03289794921875 ║
╟─────────────────────────────────────────────────────────┼───────┼─────────────────────┼─────────────────────┼─────────────────────┼─────────────────────┼─────────────────────┼────────────────────┼────────────────────╢
║ exec input-processor.ssr-client-cache-render-info │ 0.03 │ 0.01753997802734375 │ 0.02355194091796875 │ 0.02642822265625 │ 0.02978515625 │ 0.0443878173828125 │ 2.6337127685546875 │ 2.6337127685546875 ║
╟─────────────────────────────────────────────────────────┼───────┼─────────────────────┼─────────────────────┼─────────────────────┼─────────────────────┼─────────────────────┼────────────────────┼────────────────────╢
║ exec output-processor.echo-json │ 0.02 │ 0.0102081298828125 │ 0.015228271484375 │ 0.017486572265625 │ 0.02062225341796875 │ 0.03787994384765625 │ 0.5502700805664062 │ 0.5502700805664062 ║
╟─────────────────────────────────────────────────────────┼───────┼─────────────────────┼─────────────────────┼─────────────────────┼─────────────────────┼─────────────────────┼────────────────────┼────────────────────╢
║ exec output-processor.ssr-product-trace-logger │ 0.02 │ 0.013336181640625 │ 0.0201568603515625 │ 0.02330780029296875 │ 0.02626800537109375 │ 0.04058074951171875 │ 2.2571868896484375 │ 2.2571868896484375 ║
╟─────────────────────────────────────────────────────────┼───────┼─────────────────────┼─────────────────────┼─────────────────────┼─────────────────────┼─────────────────────┼────────────────────┼────────────────────╢
║ exec output-processor.none-of-business │ 0.02 │ 0.010162353515625 │ 0.0141754150390625 │ 0.01568603515625 │ 0.0173187255859375 │ 0.0291748046875 │ 0.3874359130859375 │ 0.3874359130859375 ║
╟─────────────────────────────────────────────────────────┼───────┼─────────────────────┼─────────────────────┼─────────────────────┼─────────────────────┼─────────────────────┼────────────────────┼────────────────────╢
║ exec output-processor.config-write-body │ 0.02 │ 0.00962066650390625 │ 0.0141754150390625 │ 0.015869140625 │ 0.01831817626953125 │ 0.03923797607421875 │ 0.4810943603515625 │ 0.4810943603515625 ║
╟─────────────────────────────────────────────────────────┼───────┼─────────────────────┼─────────────────────┼─────────────────────┼─────────────────────┼─────────────────────┼────────────────────┼────────────────────╢
║ exec resolver.ssr-echo-code │ 0.02 │ 0.01294708251953125 │ 0.017791748046875 │ 0.024810791015625 │ 0.0286102294921875 │ 0.0396575927734375 │ 0.0396575927734375 │ 0.0396575927734375 ║
╟─────────────────────────────────────────────────────────┼───────┼─────────────────────┼─────────────────────┼─────────────────────┼─────────────────────┼─────────────────────┼────────────────────┼────────────────────╢
║ exec input-processor.ssr-ts-route │ 0.02 │ 0.0096588134765625 │ 0.01300048828125 │ 0.0152130126953125 │ 0.021453857421875 │ 0.06900787353515625 │ 1.46038818359375 │ 1.46038818359375 ║
╟─────────────────────────────────────────────────────────┼───────┼─────────────────────┼─────────────────────┼─────────────────────┼─────────────────────┼─────────────────────┼────────────────────┼────────────────────╢
║ exec output-processor.echo-message │ 0.02 │ 0.01146697998046875 │ 0.02021026611328125 │ 0.023345947265625 │ 0.02590179443359375 │ 0.03862762451171875 │ 0.230255126953125 │ 0.230255126953125 ║
╟─────────────────────────────────────────────────────────┼───────┼─────────────────────┼─────────────────────┼─────────────────────┼─────────────────────┼─────────────────────┼────────────────────┼────────────────────╢
║ exec input-processor.config-parse-info │ 0.01 │ 0.0092315673828125 │ 0.012542724609375 │ 0.013916015625 │ 0.01556396484375 │ 0.025634765625 │ 0.498016357421875 │ 0.498016357421875 ║
╚═════════════════════════════════════════════════════════╧═══════╧═════════════════════╧═════════════════════╧═════════════════════╧═════════════════════╧═════════════════════╧════════════════════╧════════════════════╝