Open lixiaoqian521 opened 2 years ago
The V8 JS profiler often misattributes native (C/C++) functions, so there's a good chance this isn't really _registerFont
and is instead all of the other C++ functions in node-canvas lumped together. Can you provide a reproduction for us to try out?
The V8 JS profiler often misattributes native (C/C++) functions, so there's a good chance this isn't really
_registerFont
and is instead all of the other C++ functions in node-canvas lumped together. Can you provide a reproduction for us to try out?
this is my code,sorry, i cant give you a total project,because its the company project,but can i give you the code that how i use?
in A.ts, i invoke svgToImg
const { poster: posterImageBase64, width, height } = await svgToImg(posterSvgXml, imageType, !!IS_DEBUG);
and the function svgToImg is defined in B.ts,in B.ts,
I encapsulated a function to use,and the B.ts is
import { createCanvas, Image, loadImage } from 'canvas';
const log = createLog({}, __filename);
// eslint-disable-next-line max-len
export const svgToImg = async (svgXml: string, imgType: string, isBase64: boolean): Promise<{ poster: Buffer | string, width: number, height: number }> => {
const imageType = `image/${imgType || 'jpeg'}`;
const img: Image = await loadImage(Buffer.from(svgXml));
const canvas = createCanvas(img.width, img.height);
const ctx = canvas.getContext('2d');
ctx.drawImage(img, 0, 0, img.width, img.height);
const imgCanvas = canvas.toBuffer(imageType as never, { quality: 1 });
const poster = isBase64 ? imgCanvas : imgCanvas.toString('base64');
return { poster, width: img.width, height: img.height };
};
and im sure svgToImg is the reason
This function is causing a performance bottleneck,because when i delete this code
const { poster: posterImageBase64, width, height } = await svgToImg(posterSvgXml, imageType, !!IS_DEBUG);
,when i am not invoke svgToImg(this function use canvas),and i use ab to for stress testing,
The qps(Queries Per Second) of my service will go from 20 to 200,
so maybe my usage is wrong and maybe you can give me another way to use these functions(createCanvas, Image, loadImage) in canvas
Now I have located the problem,this line of program const img: Image = await loadImage(Buffer.from(svgXml));
spend too much cpu time, Am I using this function incorrectly?
Just to be sure, could you try to split that line into two and measure the two things separately?
console.time('Buffer.from')
const src = Buffer.from(svgXml)
console.timeEnd('Buffer.from')
console.time('loadImage')
const img = await loadImage(src)
console.timeEnd('loadImage')
Sorry, I said something wrong yesterday. Maybe loadImage is not the most time-consuming function. After I printed the time, I found that it was this function.
import { createCanvas, Image, loadImage } from 'canvas';
// eslint-disable-next-line max-len
export const svgToImg = async (svgXml: string, imgType: string, isBase64: boolean): Promise<{ poster: Buffer | string, width: number, height: number }> => {
const imageType = `image/${imgType || 'jpeg'}`;
log.info('[svgToBase64] start');
const src = Buffer.from(svgXml);
log.info('[svgToBase64] Buffer.from');
const img: Image = await loadImage(src);
log.info('[svgToBase64] loadImage');
const canvas = createCanvas(img.width, img.height);
log.info('[svgToBase64] createCanvas');
const ctx = canvas.getContext('2d');
ctx.drawImage(img, 0, 0, img.width, img.height);
log.info('[svgToBase64] drawImage');
const imgCanvas = canvas.toBuffer(imageType as never, { quality: 1 });
log.info('canvas.toBuffer');
const poster = isBase64 ? imgCanvas : imgCanvas.toString('base64');
log.info('[svgToBase64] toBase64');
return { poster, width: img.width, height: img.height };
};
and this is the cost of everyline;
2022-04-02 11:44:43 INFO [svgToBase64] start +1ms
2022-04-02 11:44:43 INFO [svgToBase64] Buffer.from +1ms
2022-04-02 11:44:43 INFO [svgToBase64] loadImage +7ms
2022-04-02 11:44:43 INFO [svgToBase64] createCanvas +1ms
2022-04-02 11:44:43 INFO [svgToBase64] drawImage +0ms
2022-04-02 11:44:43 INFO canvas.toBuffer +37ms
2022-04-02 11:44:43 INFO [svgToBase64] toBase64 +0ms
so maybe you can give me better Performance tools, and let me try again
That looks like what I would expect: only loadImage
and toBuffer
taking a significant amount of time.
I'm not sure what platform you're on, but on Windows you can attach the Visual Studio (not Visual Studio Code) profiler to get accurate C++ profiling. There are also two guides from Node.js here:
hello, i use this command to start my project
node --perf-basic-prof scripts/serve.js
this is my command list
node --perf-basic-prof scripts/serve.js
sudo perf record -F99 -p `pgrep -n node` -g -- sleep 240 (then i have perf.data)
ab -n5000 -c100 -p post.json -T application/json http://9.134.186.224:3000/api/poster(to test the project)
sed -i \
-e "/( __libc_start| LazyCompile | v8::internal::| Builtin:| Stub:| LoadIC:|\[unknown\]| LoadPolymorphicIC:)/d" \
-e 's/ LazyCompile:[*~]\?/ /' \
perf.data
sudo perf script -i perf.data &> perf.unfold
sudo ./FlameGraph/stackcollapse-perf.pl perf.unfold &> perf.folded
sudo ./FlameGraph/flamegraph.pl perf.folded > perf.svg
and then i have the svg(flamegraph), can you tell me what is the performance bottleneck of my project?
and i also run the this command
node --prof scripts/serve.js
and i have a log isolate-0x4340e00-19957-v8.log
and i run this command
node --prof-process isolate-0x4340e00-19957-v8.log > prof.txt
this is the file(prof.txt)
Statistical profiling result from isolate-0x4340e00-19957-v8.log, (94155 ticks, 36679 unaccounted, 0 excluded).
[Shared libraries]:
ticks total nonlib name
3692 3.9% /data1/mm64/qianyuli/.nvm/versions/node/v12.18.0/bin/node
478 0.5% /usr/lib64/libc-2.17.so
52 0.1% /usr/lib64/libpthread-2.17.so
12 0.0% [vdso]
[JavaScript]:
ticks total nonlib name
49742 52.8% 55.3% RegExp: .+\.(jpg|jpeg|gif|bmp|png)$
255 0.3% 0.3% RegExp: [\"\&\'\<\>]|(?:[\x80-\uD7FF\uE000-\uFFFF]|[\uD800-\uDBFF][\uDC00-\uDFFF]|[\uD800-\uDBFF](?![\uDC00-\uDFFF])|(?:[^\uD800-\uDBFF]|^)[\uDC00-\uDFFF])
43 0.0% 0.0% RegExp: [\x00-\x1f\x22\x5c]
34 0.0% 0.0% RegExp: [\x00-\x1f\x22\x5c] {1}
20 0.0% 0.0% LazyCompile: *Tokenizer.parse /data1/mm64/qianyuli/xdc_project/welfare_question/app/mmpayxdcwelfarepostersvr/node_modules/htmlparser2/lib/Tokenizer.js:627:42
17 0.0% 0.0% LazyCompile: *readPackageScope internal/modules/cjs/loader.js:279:26
13 0.0% 0.0% LazyCompile: *DerivedLogger.<computed> /data1/mm64/qianyuli/xdc_project/welfare_question/app/mmpayxdcwelfarepostersvr/node_modules/winston/lib/winston/create-logger.js:71:47
12 0.0% 0.0% LazyCompile: *resolve path.js:973:10
9 0.0% 0.0% RegExp: [\x00-\x1f\x22\x5c] {2}
8 0.0% 0.0% RegExp: d{1,4}|M{1,4}|YY(?:YY)?|S{1,3}|Do|ZZ|Z|([HhMsDm])\1?|[aA]|"[^"]*"|'[^']*'
8 0.0% 0.0% LazyCompile: *requestWithCallback /data1/mm64/qianyuli/xdc_project/welfare_question/app/mmpayxdcwelfarepostersvr/node_modules/urllib/lib/urllib.js:200:29
8 0.0% 0.0% LazyCompile: *format /data1/mm64/qianyuli/xdc_project/welfare_question/app/mmpayxdcwelfarepostersvr/node_modules/fecha/lib/fecha.umd.js:246:25
7 0.0% 0.0% RegExp: [^.\d]
7 0.0% 0.0% LazyCompile: *processTicksAndRejections internal/process/task_queues.js:69:35
7 0.0% 0.0% LazyCompile: *hidden internal/errors.js:282:25
7 0.0% 0.0% LazyCompile: *<anonymous> /data1/mm64/qianyuli/xdc_project/welfare_question/app/mmpayxdcwelfarepostersvr/node_modules/cheerio-select/lib/index.js:288:35
6 0.0% 0.0% LazyCompile: *parseSelector /data1/mm64/qianyuli/xdc_project/welfare_question/app/mmpayxdcwelfarepostersvr/node_modules/css-what/lib/parse.js:149:23
6 0.0% 0.0% LazyCompile: *normalizeString path.js:52:25
6 0.0% 0.0% LazyCompile: *encodeStr internal/querystring.js:32:19
5 0.0% 0.0% RegExp: ^((?:(?:[0-9a-fA-F]{1,4}):){7}(?:(?:[0-9a-fA-F]{1,4})|:)|(?:(?:[0-9a-fA-F]{1,4}):){6}(?:((?:[0-9]|[1-9][0-9]|1[0-9][0-9]|2[0-4][0-9]|25[0-5])[.]){3}(?:[0-9]|[1-9][0-9]|1[0-9][0-9]|2[0-4][0-9]|25[0-5])|:(?:[0-9a-fA-F]{1,4})|:)|(?:(?:[0-9a-fA-F]{1,4}):){5}(?::((?:[0-9]|[1-9][0-9]|1[0-9][0-9]|2[0-4][0-9]|25[0-5])[.]){3}(?:[0-9]|[1-9][0-9]|1[0-9][0-9]|2[0-4][0-9]|25[0-5])|(:(?:[0-9a-fA-F]{1,4})){1,2}|:)|(?:(?:[0-9a-fA-F]{1,4}):){4}(?:(:(?:[0-9a-fA-F]{1,4})){0,1}:((?:[0-9]|[1-9][0-9]|1[0-9][0-9]|2[0-4][0-9]|25[0-5])[.]){3}(?:[0-9]|[1-9][0-9]|1[0-9][0-9]|2[0-4][0-9]|25[0-5])|(:(?:[0-9a-fA-F]{1,4})){1,3}|:)|(?:(?:[0-9a-fA-F]{1,4}):){3}(?:(:(?:[0-9a-fA-F]{1,4})){0,2}:((?:[0-9]|[1-9][0-9]|1[0-9][0-9]|2[0-4][0-9]|25[0-5])[.]){3}(?:[0-9]|[1-9][0-9]|1[0-9][0-9]|2[0-4][0-9]|25[0-5])|(:(?:[0-9a-fA-F]{1,4})){1,4}|:)|(?:(?:[0-9a-fA-F]{1,4}):){2}(?:(:(?:[0-9a-fA-F]{1,4})){0,3}:((?:[0-9]|[1-9][0-9]|1[0-9][0-9]|2[0-4][0-9]|25[0-5])[.]){3}(?:[0-9]|[1-9][0-9]|1[0-9][0-9]|2[0-4][0-9]|25[0-5])|(:(?:[0-9a-fA-F]{1,4})){1,5}|:)|(?:(?:[0-9a-fA-F]{1,4}):){1}(?:(:(?:[0-9a-fA-F]{1,4})){0,4}:((?:[0-9]|[1-9][0-9]|1[0-9][0-9]|2[0-4][0-9]|25[0-5])[.]){3}(?:[0-9]|[1-9][0-9]|1[0-9][0-9]|2[0-4][0-9]|25[0-5])|(:(?:[0-9a-fA-F]{1,4})){1,6}|:)|(?::((?::(?:[0-9a-fA-F]{1,4})){0,5}:((?:[0-9]|[1-9][0-9]|1[0-9][0-9]|2[0-4][0-9]|25[0-5])[.]){3}(?:[0-9]|[1-9][0-9]|1[0-9][0-9]|2[0-4][0-9]|25[0-5])|(?::(?:[0-9a-fA-F]{1,4})){1,7}|:)))(%[0-9a-zA-Z]{1,})?$
5 0.0% 0.0% LazyCompile: *stringifySimple /data1/mm64/qianyuli/xdc_project/welfare_question/app/mmpayxdcwelfarepostersvr/node_modules/safe-stable-stringify/stable.js:453:26
5 0.0% 0.0% LazyCompile: *renderNode /data1/mm64/qianyuli/xdc_project/welfare_question/app/mmpayxdcwelfarepostersvr/node_modules/dom-serializer/lib/index.js:120:20
5 0.0% 0.0% LazyCompile: *onwrite /data1/mm64/qianyuli/xdc_project/welfare_question/app/mmpayxdcwelfarepostersvr/node_modules/winston-transport/node_modules/readable-stream/lib/_stream_writable.js:444:17
5 0.0% 0.0% LazyCompile: *get /data1/mm64/qianyuli/xdc_project/welfare_question/app/mmpayxdcwelfarepostersvr/node_modules/domutils/lib/index.js:23:75
5 0.0% 0.0% LazyCompile: *emit events.js:263:44
4 0.0% 0.0% RegExp: ^[^\\#]?(?:\\(?:[\da-f]{1,6}\s?|.)|[\w\-\u00b0-\uFFFF])+
4 0.0% 0.0% RegExp: [^\t\x20-\x7e\x80-\xff]
4 0.0% 0.0% LazyCompile: *ondata /data1/mm64/qianyuli/xdc_project/welfare_question/app/mmpayxdcwelfarepostersvr/node_modules/winston/node_modules/readable-stream/lib/_stream_readable.js:679:18
4 0.0% 0.0% LazyCompile: *compileToken /data1/mm64/qianyuli/xdc_project/welfare_question/app/mmpayxdcwelfarepostersvr/node_modules/css-select/lib/compile.js:66:22
4 0.0% 0.0% LazyCompile: *checkString /data1/mm64/qianyuli/xdc_project/welfare_question/app/mmpayxdcwelfarepostersvr/node_modules/file-type/core.js:72:22
4 0.0% 0.0% LazyCompile: *afterWrite /data1/mm64/qianyuli/xdc_project/welfare_question/app/mmpayxdcwelfarepostersvr/node_modules/winston-transport/node_modules/readable-stream/lib/_stream_writable.js:466:20
4 0.0% 0.0% LazyCompile: *addChunk /data1/mm64/qianyuli/xdc_project/welfare_question/app/mmpayxdcwelfarepostersvr/node_modules/winston/node_modules/readable-stream/lib/_stream_readable.js:295:18
4 0.0% 0.0% LazyCompile: *_write /data1/mm64/qianyuli/xdc_project/welfare_question/app/mmpayxdcwelfarepostersvr/node_modules/winston-transport/index.js:69:51
4 0.0% 0.0% LazyCompile: *_transform /data1/mm64/qianyuli/xdc_project/welfare_question/app/mmpayxdcwelfarepostersvr/node_modules/winston/lib/winston/logger.js:267:13
3 0.0% 0.0% LazyCompile: *writeOrBuffer _stream_writable.js:355:23
3 0.0% 0.0% LazyCompile: *readBuffer /data1/mm64/qianyuli/xdc_project/welfare_question/app/mmpayxdcwelfarepostersvr/node_modules/strtok3/lib/BufferTokenizer.js:23:21
3 0.0% 0.0% LazyCompile: *onwrite /data1/mm64/qianyuli/xdc_project/welfare_question/app/mmpayxdcwelfarepostersvr/node_modules/winston/node_modules/readable-stream/lib/_stream_writable.js:444:17
3 0.0% 0.0% LazyCompile: *get internal/bootstrap/pre_execution.js:304:8
3 0.0% 0.0% LazyCompile: *format url.js:575:39
3 0.0% 0.0% LazyCompile: *exports.validate /data1/mm64/qianyuli/xdc_project/welfare_question/app/mmpayxdcwelfarepostersvr/node_modules/joi/lib/validator.js:173:29
3 0.0% 0.0% LazyCompile: *Readable.removeListener _stream_readable.js:901:45
3 0.0% 0.0% LazyCompile: *Readable.read _stream_readable.js:377:35
3 0.0% 0.0% LazyCompile: *Readable.read /data1/mm64/qianyuli/xdc_project/welfare_question/app/mmpayxdcwelfarepostersvr/node_modules/winston/node_modules/readable-stream/lib/_stream_readable.js:392:36
3 0.0% 0.0% LazyCompile: *ClientRequest _http_client.js:85:23
3 0.0% 0.0% LazyCompile: *<anonymous> /data1/mm64/qianyuli/xdc_project/welfare_question/app/mmpayxdcwelfarepostersvr/node_modules/cheerio/lib/api/traversing.js:429:38
3 0.0% 0.0% LazyCompile: *<anonymous> /data1/mm64/qianyuli/xdc_project/welfare_question/app/mmpayxdcwelfarepostersvr/node_modules/@tencent/xdc-logger/dist/logger.js:27:35
2 0.0% 0.0% RegExp: ^[!#$%&'*+.^_`|~0-9A-Za-z-]+\/[!#$%&'*+.^_`|~0-9A-Za-z-]+$
2 0.0% 0.0% RegExp: \[([^]*?)\]
2 0.0% 0.0% RegExp: .+\.(jpg|jpeg|gif|bmp|png)$ {1}
2 0.0% 0.0% LazyCompile: *validate /data1/mm64/qianyuli/xdc_project/welfare_question/app/mmpayxdcwelfarepostersvr/node_modules/joi/lib/types/keys.js:52:13
2 0.0% 0.0% LazyCompile: *slice buffer.js:656:12
2 0.0% 0.0% LazyCompile: *removeListener events.js:451:28
2 0.0% 0.0% LazyCompile: *ref timers.js:224:6
2 0.0% 0.0% LazyCompile: *nextTick internal/process/task_queues.js:105:18
2 0.0% 0.0% LazyCompile: *log /data1/mm64/qianyuli/xdc_project/welfare_question/app/mmpayxdcwelfarepostersvr/node_modules/winston/lib/winston/transports/console.js:44:6
2 0.0% 0.0% LazyCompile: *isTag /data1/mm64/qianyuli/xdc_project/welfare_question/app/mmpayxdcwelfarepostersvr/node_modules/domhandler/lib/node.js:320:15
2 0.0% 0.0% LazyCompile: *initAsyncResource internal/timers.js:148:27
2 0.0% 0.0% LazyCompile: *groupSelectors /data1/mm64/qianyuli/xdc_project/welfare_question/app/mmpayxdcwelfarepostersvr/node_modules/cheerio-select/lib/helpers.js:11:24
2 0.0% 0.0% LazyCompile: *get internal/bootstrap/pre_execution.js:292:8
2 0.0% 0.0% LazyCompile: *find /data1/mm64/qianyuli/xdc_project/welfare_question/app/mmpayxdcwelfarepostersvr/node_modules/cheerio/lib/api/traversing.js:35:14
2 0.0% 0.0% LazyCompile: *compileGeneralSelector /data1/mm64/qianyuli/xdc_project/welfare_question/app/mmpayxdcwelfarepostersvr/node_modules/css-select/lib/general.js:9:32
2 0.0% 0.0% LazyCompile: *clearBuffer _stream_writable.js:497:21
2 0.0% 0.0% LazyCompile: *addListener events.js:405:58
2 0.0% 0.0% LazyCompile: *WritableState.onwrite /data1/mm64/qianyuli/xdc_project/welfare_question/app/mmpayxdcwelfarepostersvr/node_modules/winston/node_modules/readable-stream/lib/_stream_writable.js:159:27
2 0.0% 0.0% LazyCompile: *Writable.write /data1/mm64/qianyuli/xdc_project/welfare_question/app/mmpayxdcwelfarepostersvr/node_modules/winston-transport/node_modules/readable-stream/lib/_stream_writable.js:288:37
2 0.0% 0.0% LazyCompile: *Tokenizer.stateInAttributeValueDoubleQuotes /data1/mm64/qianyuli/xdc_project/welfare_question/app/mmpayxdcwelfarepostersvr/node_modules/htmlparser2/lib/Tokenizer.js:342:70
2 0.0% 0.0% LazyCompile: *HH /data1/mm64/qianyuli/xdc_project/welfare_question/app/mmpayxdcwelfarepostersvr/node_modules/fecha/lib/fecha.umd.js:125:20
2 0.0% 0.0% LazyCompile: *<anonymous> /data1/mm64/qianyuli/xdc_project/welfare_question/app/mmpayxdcwelfarepostersvr/node_modules/fecha/lib/fecha.umd.js:265:43
1 0.0% 0.0% RegExp: ^[a-z0-9.+-]+:
1 0.0% 0.0% RegExp: ^[\^_`a-zA-Z\-0-9!#$%&'*+.|~]+$
1 0.0% 0.0% RegExp: ^ *([A-Za-z0-9][A-Za-z0-9!#$&^_-]{0,126})\/([A-Za-z0-9][A-Za-z0-9!#$&^_.+-]{0,126}) *$
1 0.0% 0.0% RegExp: [^\u0021-\u00ff]
1 0.0% 0.0% RegExp: [\"\&\'\<\>]|(?:[\x80-\uD7FF\uE000-\uFFFF]|[\uD800-\uDBFF][\uDC00-\uDFFF]|[\uD800-\uDBFF](?![\uDC00-\uDFFF])|(?:[^\uD800-\uDBFF]|^)[\uDC00-\uDFFF]) {1}
1 0.0% 0.0% LazyCompile: *validateString internal/validators.js:118:24
1 0.0% 0.0% LazyCompile: *toString buffer.js:775:46
1 0.0% 0.0% LazyCompile: *syncExports internal/bootstrap/loaders.js:252:14
1 0.0% 0.0% LazyCompile: *singleCharReplacer /data1/mm64/qianyuli/xdc_project/welfare_question/app/mmpayxdcwelfarepostersvr/node_modules/entities/lib/encode.js:94:28
1 0.0% 0.0% LazyCompile: *setAlignByStyle /data1/mm64/qianyuli/xdc_project/welfare_question/app/mmpayxdcwelfarepostersvr/dist/libs/fill-data-to-svg-xml.js:40:25
1 0.0% 0.0% LazyCompile: *searchElementLocation /data1/mm64/qianyuli/xdc_project/welfare_question/app/mmpayxdcwelfarepostersvr/dist/libs/serach-element-location.js:14:31
1 0.0% 0.0% LazyCompile: *removeSubsets /data1/mm64/qianyuli/xdc_project/welfare_question/app/mmpayxdcwelfarepostersvr/node_modules/domutils/lib/helpers.js:11:23
1 0.0% 0.0% LazyCompile: *realpathSync fs.js:1534:22
1 0.0% 0.0% LazyCompile: *parseParams internal/url.js:722:21
1 0.0% 0.0% LazyCompile: *pad /data1/mm64/qianyuli/xdc_project/welfare_question/app/mmpayxdcwelfarepostersvr/node_modules/fecha/lib/fecha.umd.js:88:22
1 0.0% 0.0% LazyCompile: *mm /data1/mm64/qianyuli/xdc_project/welfare_question/app/mmpayxdcwelfarepostersvr/node_modules/fecha/lib/fecha.umd.js:127:20
1 0.0% 0.0% LazyCompile: *maybeReadMore /data1/mm64/qianyuli/xdc_project/welfare_question/app/mmpayxdcwelfarepostersvr/node_modules/winston/node_modules/readable-stream/lib/_stream_readable.js:558:23
1 0.0% 0.0% LazyCompile: *lookupAndConnect net.js:984:26
1 0.0% 0.0% LazyCompile: *initialize /data1/mm64/qianyuli/xdc_project/welfare_question/app/mmpayxdcwelfarepostersvr/node_modules/cheerio/lib/load.js:36:24
1 0.0% 0.0% LazyCompile: *hasTickScheduled internal/process/task_queues.js:49:26
1 0.0% 0.0% LazyCompile: *getName _http_agent.js:166:43
1 0.0% 0.0% LazyCompile: *getAttributeValue /data1/mm64/qianyuli/xdc_project/welfare_question/app/mmpayxdcwelfarepostersvr/node_modules/domutils/lib/traversal.js:62:27
1 0.0% 0.0% LazyCompile: *get /data1/mm64/qianyuli/xdc_project/welfare_question/app/mmpayxdcwelfarepostersvr/node_modules/entities/lib/index.js:40:79
1 0.0% 0.0% LazyCompile: *first /data1/mm64/qianyuli/xdc_project/welfare_question/app/mmpayxdcwelfarepostersvr/node_modules/ee-first/index.js:24:15
1 0.0% 0.0% LazyCompile: *findElements /data1/mm64/qianyuli/xdc_project/welfare_question/app/mmpayxdcwelfarepostersvr/node_modules/cheerio-select/lib/index.js:279:22
1 0.0% 0.0% LazyCompile: *escapeFn /data1/mm64/qianyuli/xdc_project/welfare_question/app/mmpayxdcwelfarepostersvr/node_modules/safe-stable-stringify/stable.js:28:19
1 0.0% 0.0% LazyCompile: *default_1 /data1/mm64/qianyuli/xdc_project/welfare_question/app/mmpayxdcwelfarepostersvr/dist/controller/api/poster.js:41:25
1 0.0% 0.0% LazyCompile: *check /data1/mm64/qianyuli/xdc_project/welfare_question/app/mmpayxdcwelfarepostersvr/node_modules/file-type/core.js:71:16
1 0.0% 0.0% LazyCompile: *attr /data1/mm64/qianyuli/xdc_project/welfare_question/app/mmpayxdcwelfarepostersvr/node_modules/cheerio/lib/api/attributes.js:68:14
1 0.0% 0.0% LazyCompile: *addAdapter /data1/mm64/qianyuli/xdc_project/welfare_question/app/mmpayxdcwelfarepostersvr/node_modules/css-select/lib/index.js:46:31
1 0.0% 0.0% LazyCompile: *_storeHeader _http_outgoing.js:337:22
1 0.0% 0.0% LazyCompile: *_fromTokenizer /data1/mm64/qianyuli/xdc_project/welfare_question/app/mmpayxdcwelfarepostersvr/node_modules/file-type/core.js:68:30
1 0.0% 0.0% LazyCompile: *Transform._read /data1/mm64/qianyuli/xdc_project/welfare_question/app/mmpayxdcwelfarepostersvr/node_modules/winston/node_modules/readable-stream/lib/_stream_transform.js:171:38
1 0.0% 0.0% LazyCompile: *Module._nodeModulePaths internal/modules/cjs/loader.js:742:37
1 0.0% 0.0% LazyCompile: *MM /data1/mm64/qianyuli/xdc_project/welfare_question/app/mmpayxdcwelfarepostersvr/node_modules/fecha/lib/fecha.umd.js:111:20
1 0.0% 0.0% LazyCompile: *<anonymous> internal/util/debuglog.js:61:18
1 0.0% 0.0% LazyCompile: *<anonymous> /data1/mm64/qianyuli/xdc_project/welfare_question/app/mmpayxdcwelfarepostersvr/node_modules/css-select/lib/attributes.js:98:25
1 0.0% 0.0% LazyCompile: *<anonymous> /data1/mm64/qianyuli/xdc_project/welfare_question/app/mmpayxdcwelfarepostersvr/node_modules/cheerio/lib/api/traversing.js:87:37
1 0.0% 0.0% LazyCompile: *<anonymous> /data1/mm64/qianyuli/xdc_project/welfare_question/app/mmpayxdcwelfarepostersvr/node_modules/cheerio/lib/api/traversing.js:72:25
[C++]:
ticks total nonlib name
468 0.5% 0.5% do_futex_wait.constprop.1
356 0.4% 0.4% __libc_writev
320 0.3% 0.4% __GI_memset
184 0.2% 0.2% node::contextify::ContextifyContext::CompileFunction(v8::FunctionCallbackInfo<v8::Value> const&)
160 0.2% 0.2% epoll_pwait
151 0.2% 0.2% node::Buffer::(anonymous namespace)::CreateFromString(v8::FunctionCallbackInfo<v8::Value> const&)
146 0.2% 0.2% node::Buffer::(anonymous namespace)::ByteLengthUtf8(v8::FunctionCallbackInfo<v8::Value> const&)
90 0.1% 0.1% _int_malloc
74 0.1% 0.1% void node::StreamBase::JSMethod<&node::StreamBase::Writev>(v8::FunctionCallbackInfo<v8::Value> const&)
49 0.1% 0.1% node::url::(anonymous namespace)::Parse(v8::FunctionCallbackInfo<v8::Value> const&)
46 0.0% 0.1% __GI_mprotect
37 0.0% 0.0% node::native_module::NativeModuleEnv::CompileFunction(v8::FunctionCallbackInfo<v8::Value> const&)
37 0.0% 0.0% __memmove_ssse3
37 0.0% 0.0% __memcpy_ssse3
32 0.0% 0.0% __pthread_cond_wait
30 0.0% 0.0% node::cares_wrap::(anonymous namespace)::GetAddrInfo(v8::FunctionCallbackInfo<v8::Value> const&)
27 0.0% 0.0% node::binding::DLOpen(v8::FunctionCallbackInfo<v8::Value> const&)
26 0.0% 0.0% _int_free
24 0.0% 0.0% node::EnvGetter(v8::Local<v8::Name>, v8::PropertyCallbackInfo<v8::Value> const&)
21 0.0% 0.0% __pthread_cond_signal
20 0.0% 0.0% __strlen_sse42
19 0.0% 0.0% node::(anonymous namespace)::DecodeData(v8::FunctionCallbackInfo<v8::Value> const&)
18 0.0% 0.0% __lll_unlock_wake
16 0.0% 0.0% malloc_consolidate
15 0.0% 0.0% tcgetattr
15 0.0% 0.0% brk
15 0.0% 0.0% __lll_lock_wait
14 0.0% 0.0% __GI___libc_malloc
13 0.0% 0.0% node::fs::InternalModuleStat(v8::FunctionCallbackInfo<v8::Value> const&)
13 0.0% 0.0% cfree
11 0.0% 0.0% void node::Buffer::(anonymous namespace)::StringSlice<(node::encoding)1>(v8::FunctionCallbackInfo<v8::Value> const&)
11 0.0% 0.0% __gconv_transform_internal_ascii
10 0.0% 0.0% void node::GetSockOrPeerName<node::TCPWrap, &uv_tcp_getpeername>(v8::FunctionCallbackInfo<v8::Value> const&)
10 0.0% 0.0% node::TCPWrap::Connect(v8::FunctionCallbackInfo<v8::Value> const&)
10 0.0% 0.0% __GI__IO_vfprintf
9 0.0% 0.0% v8::internal::MarkingBarrier(v8::internal::HeapObject, v8::internal::FullObjectSlot, v8::internal::Object)
9 0.0% 0.0% node::(anonymous namespace)::GetLibuvNow(v8::FunctionCallbackInfo<v8::Value> const&)
8 0.0% 0.0% node::StringBytes::Encode(v8::Isolate*, char const*, unsigned long, node::encoding, v8::Local<v8::Value>*)
8 0.0% 0.0% __strncpy_ssse3
8 0.0% 0.0% __gconv_transform_utf8_internal
7 0.0% 0.0% void node::StreamBase::JSMethod<&(int node::StreamBase::WriteString<(node::encoding)1>(v8::FunctionCallbackInfo<v8::Value> const&))>(v8::FunctionCallbackInfo<v8::Value> const&)
7 0.0% 0.0% void node::Buffer::(anonymous namespace)::StringSlice<(node::encoding)2>(v8::FunctionCallbackInfo<v8::Value> const&)
7 0.0% 0.0% v8::internal::Accessors::ArrayLengthSetter(v8::Local<v8::Name>, v8::Local<v8::Value>, v8::PropertyCallbackInfo<v8::Boolean> const&)
7 0.0% 0.0% __memcmp_sse4_1
6 0.0% 0.0% v8::internal::Accessors::FunctionPrototypeGetter(v8::Local<v8::Name>, v8::PropertyCallbackInfo<v8::Value> const&)
6 0.0% 0.0% node::TCPWrap::New(v8::FunctionCallbackInfo<v8::Value> const&)
6 0.0% 0.0% node::HandleWrap::Close(v8::FunctionCallbackInfo<v8::Value> const&)
6 0.0% 0.0% __GI_shutdown
6 0.0% 0.0% __GI___pthread_mutex_lock
5 0.0% 0.0% std::basic_ostream<char, std::char_traits<char> >& std::__ostream_insert<char, std::char_traits<char> >(std::basic_ostream<char, std::char_traits<char> >&, char const*, long)
5 0.0% 0.0% node::crypto::GetRootCertificates(v8::FunctionCallbackInfo<v8::Value> const&)
5 0.0% 0.0% __GI_memchr
4 0.0% 0.0% v8::internal::FixedArray::set(int, v8::internal::Object)
4 0.0% 0.0% node::fs::Read(v8::FunctionCallbackInfo<v8::Value> const&)
4 0.0% 0.0% fwrite
4 0.0% 0.0% __strcmp_sse42
4 0.0% 0.0% __gconv_get_builtin_trans
4 0.0% 0.0% __fmod_finite
4 0.0% 0.0% __GI_strcmp
4 0.0% 0.0% __GI___libc_realloc
3 0.0% 0.0% v8::internal::PropertyCallbackArguments::PropertyCallbackArguments(v8::internal::Isolate*, v8::internal::Object, v8::internal::Object, v8::internal::JSObject, v8::Maybe<v8::internal::ShouldThrow>)
3 0.0% 0.0% v8::internal::Builtin_HandleApiCall(int, unsigned long*, v8::internal::Isolate*)
3 0.0% 0.0% v8::internal::Builtin_ArrayBufferConstructor(int, unsigned long*, v8::internal::Isolate*)
3 0.0% 0.0% v8::internal::AstValueFactory::GetString(unsigned int, bool, v8::internal::Vector<unsigned char const>)
3 0.0% 0.0% v8::internal::AstValueFactory::GetOneByteStringInternal(v8::internal::Vector<unsigned char const>)
3 0.0% 0.0% node::fs::Open(v8::FunctionCallbackInfo<v8::Value> const&)
3 0.0% 0.0% node::fs::LStat(v8::FunctionCallbackInfo<v8::Value> const&)
3 0.0% 0.0% node::fs::Close(v8::FunctionCallbackInfo<v8::Value> const&)
3 0.0% 0.0% iconv_open
3 0.0% 0.0% __floor_sse41
3 0.0% 0.0% __GI___xstat
3 0.0% 0.0% __GI___pthread_getspecific
2 0.0% 0.0% void node::StreamBase::JSMethod<&node::StreamBase::Shutdown>(v8::FunctionCallbackInfo<v8::Value> const&)
2 0.0% 0.0% v8::internal::LookupIterator::PropertyOrElement(v8::internal::Isolate*, v8::internal::Handle<v8::internal::Object>, v8::internal::Handle<v8::internal::Name>, v8::internal::Handle<v8::internal::JSReceiver>, v8::internal::LookupIterator::Configuration)
2 0.0% 0.0% v8::internal::Builtins::name(int)
2 0.0% 0.0% v8::internal::Builtin_DateNow(int, unsigned long*, v8::internal::Isolate*)
2 0.0% 0.0% v8::internal::(anonymous namespace)::ProbeInstantiationsCache(v8::internal::Isolate*, v8::internal::Handle<v8::internal::NativeContext>, int, v8::internal::(anonymous namespace)::CachingMode)
2 0.0% 0.0% v8::String::NewFromOneByte(v8::Isolate*, unsigned char const*, v8::NewStringType, int)
2 0.0% 0.0% operator new(unsigned long)
2 0.0% 0.0% node::binding::GetInternalBinding(v8::FunctionCallbackInfo<v8::Value> const&)
2 0.0% 0.0% node::NodePlatform::CurrentClockTimeMillis()
2 0.0% 0.0% node::InternalCallbackScope::Close()
2 0.0% 0.0% node::(anonymous namespace)::Parser::Initialize(v8::FunctionCallbackInfo<v8::Value> const&)
2 0.0% 0.0% node::(anonymous namespace)::Parser::Execute(v8::FunctionCallbackInfo<v8::Value> const&)
2 0.0% 0.0% getsockopt
2 0.0% 0.0% getenv
2 0.0% 0.0% finite
2 0.0% 0.0% bool v8::internal::MarkBit::Set<(v8::internal::AccessMode)0>() [clone .isra.74]
2 0.0% 0.0% __ieee754_acos_sse2
2 0.0% 0.0% __gconv_lookup_cache
2 0.0% 0.0% __cos_avx
2 0.0% 0.0% __GI_munmap
2 0.0% 0.0% __GI_madvise
2 0.0% 0.0% __GI___pthread_mutex_unlock
2 0.0% 0.0% __GI__IO_file_xsputn
2 0.0% 0.0% __GI__IO_default_xsputn
1 0.0% 0.0% void node::Buffer::(anonymous namespace)::StringSlice<(node::encoding)4>(v8::FunctionCallbackInfo<v8::Value> const&)
1 0.0% 0.0% void node::BaseObject::InternalFieldSet<2, &(v8::Value::IsFunction() const)>(v8::Local<v8::String>, v8::Local<v8::Value>, v8::PropertyCallbackInfo<void> const&)
1 0.0% 0.0% v8::internal::Zone::New(unsigned long)
1 0.0% 0.0% v8::internal::String::Flatten(v8::internal::Isolate*, v8::internal::Handle<v8::internal::String>, v8::internal::AllocationType)
1 0.0% 0.0% v8::internal::SharedFunctionInfo::script() const
1 0.0% 0.0% v8::internal::Scope::ResolveVariablesRecursively(v8::internal::ParseInfo*)
1 0.0% 0.0% v8::internal::Scope::LookupInScopeInfo(v8::internal::AstRawString const*, v8::internal::Scope*)
1 0.0% 0.0% v8::internal::Scope::GetClassScope()
1 0.0% 0.0% v8::internal::Scope::AllocateVariablesRecursively()
1 0.0% 0.0% v8::internal::ObjectLiteral::CalculateEmitStore(v8::internal::Zone*)
1 0.0% 0.0% v8::internal::HandleScope::~HandleScope()
1 0.0% 0.0% v8::internal::Compiler::CompileOptimized(v8::internal::Handle<v8::internal::JSFunction>, v8::internal::ConcurrencyMode)
1 0.0% 0.0% v8::internal::Compiler::Compile(v8::internal::Handle<v8::internal::SharedFunctionInfo>, v8::internal::Compiler::ClearExceptionFlag, v8::internal::IsCompiledScope*)
1 0.0% 0.0% v8::internal::Compiler::Compile(v8::internal::Handle<v8::internal::JSFunction>, v8::internal::Compiler::ClearExceptionFlag, v8::internal::IsCompiledScope*)
1 0.0% 0.0% v8::internal::CompareOperation::IsLiteralCompareTypeof(v8::internal::Expression**, v8::internal::Literal**)
1 0.0% 0.0% v8::internal::Builtins::builtin(int)
1 0.0% 0.0% v8::internal::Builtin_ObjectGetOwnPropertySymbols(int, unsigned long*, v8::internal::Isolate*)
1 0.0% 0.0% v8::internal::Builtin_JsonStringify(int, unsigned long*, v8::internal::Isolate*)
1 0.0% 0.0% v8::internal::Builtin_ErrorConstructor(int, unsigned long*, v8::internal::Isolate*)
1 0.0% 0.0% v8::internal::Builtin_DataViewConstructor(int, unsigned long*, v8::internal::Isolate*)
1 0.0% 0.0% v8::internal::Builtin_ArrayConcat(int, unsigned long*, v8::internal::Isolate*)
1 0.0% 0.0% v8::internal::AstValueFactory::Internalize(v8::internal::Isolate*)
1 0.0% 0.0% v8::internal::ApiNatives::InstantiateObject(v8::internal::Isolate*, v8::internal::Handle<v8::internal::ObjectTemplateInfo>, v8::internal::Handle<v8::internal::JSReceiver>)
1 0.0% 0.0% v8::internal::Accessors::IsJSObjectFieldAccessor(v8::internal::Isolate*, v8::internal::Handle<v8::internal::Map>, v8::internal::Handle<v8::internal::Name>, v8::internal::FieldIndex*)
1 0.0% 0.0% v8::internal::Accessors::FunctionLengthGetter(v8::Local<v8::Name>, v8::PropertyCallbackInfo<v8::Value> const&)
1 0.0% 0.0% v8::String::Utf8Length(v8::Isolate*) const
1 0.0% 0.0% v8::String::NewFromUtf8(v8::Isolate*, char const*, v8::NewStringType, int)
1 0.0% 0.0% v8::Object::InternalFieldCount()
1 0.0% 0.0% v8::Isolate::GetCurrentContext()
1 0.0% 0.0% v8::HandleScope::~HandleScope()
1 0.0% 0.0% v8::External::Value() const
1 0.0% 0.0% v8::Context::Global()
1 0.0% 0.0% v8::Context::Exit()
1 0.0% 0.0% v8::ArrayBufferView::ByteOffset()
1 0.0% 0.0% v8::(anonymous namespace)::CallDepthScope<true>::~CallDepthScope()
1 0.0% 0.0% std::ostream::sentry::sentry(std::ostream&)
1 0.0% 0.0% std::locale::id::_M_id() const
1 0.0% 0.0% std::local_Rb_tree_decrement(std::_Rb_tree_node_base*)
1 0.0% 0.0% round
1 0.0% 0.0% rand_r
1 0.0% 0.0% operator new(unsigned long, std::nothrow_t const&)
1 0.0% 0.0% operator delete[](void*)
1 0.0% 0.0% node::util::GuessHandleType(v8::FunctionCallbackInfo<v8::Value> const&)
1 0.0% 0.0% node::i18n::ToASCII(v8::FunctionCallbackInfo<v8::Value> const&)
1 0.0% 0.0% node::fs::ReadDir(v8::FunctionCallbackInfo<v8::Value> const&)
1 0.0% 0.0% node::fs::OpenFileHandle(v8::FunctionCallbackInfo<v8::Value> const&)
1 0.0% 0.0% node::fs::InternalModuleReadJSON(v8::FunctionCallbackInfo<v8::Value> const&)
1 0.0% 0.0% node::contextify::ContextifyContext::MakeContext(v8::FunctionCallbackInfo<v8::Value> const&)
1 0.0% 0.0% node::cares_wrap::(anonymous namespace)::ChannelWrap::New(v8::FunctionCallbackInfo<v8::Value> const&)
1 0.0% 0.0% node::cares_wrap::(anonymous namespace)::AfterGetAddrInfo(uv_getaddrinfo_s*, int, addrinfo*)
1 0.0% 0.0% node::Utf8Value::Utf8Value(v8::Isolate*, v8::Local<v8::Value>)
1 0.0% 0.0% node::StreamBase::GetBytesRead(v8::FunctionCallbackInfo<v8::Value> const&)
1 0.0% 0.0% node::LibuvStreamWrap::ReadStart()::{lambda(uv_handle_s*, unsigned long, uv_buf_t*)#1}::_FUN(uv_handle_s*, unsigned long, uv_buf_t*)
1 0.0% 0.0% node::InternalMakeCallback(node::Environment*, v8::Local<v8::Object>, v8::Local<v8::Object>, v8::Local<v8::Function>, int, v8::Local<v8::Value>*, node::async_context)
1 0.0% 0.0% node::HandleWrap::OnClose(uv_handle_s*)
1 0.0% 0.0% node::Environment::PrintSyncTrace() const
1 0.0% 0.0% node::Buffer::Length(v8::Local<v8::Object>)
1 0.0% 0.0% node::AsyncWrap::~AsyncWrap()
1 0.0% 0.0% node::AsyncWrap::GetAsyncId(v8::FunctionCallbackInfo<v8::Value> const&)
1 0.0% 0.0% node::AsyncWrap::EmitTraceEventAfter(node::AsyncWrap::ProviderType, double)
1 0.0% 0.0% node::AsyncWrap::EmitBefore(node::Environment*, double)
1 0.0% 0.0% node::(anonymous namespace)::Parser::Proxy<int (node::(anonymous namespace)::Parser::*)(), &node::(anonymous namespace)::Parser::on_headers_complete>::Raw(llhttp__internal_s*)
1 0.0% 0.0% node::(anonymous namespace)::Parser::New(v8::FunctionCallbackInfo<v8::Value> const&)
1 0.0% 0.0% node::(anonymous namespace)::Parser::Free(v8::FunctionCallbackInfo<v8::Value> const&)
1 0.0% 0.0% mmap
1 0.0% 0.0% epoll_ctl
1 0.0% 0.0% calloc
1 0.0% 0.0% buffered_vfprintf
1 0.0% 0.0% bsearch
1 0.0% 0.0% acos
1 0.0% 0.0% accept4
1 0.0% 0.0% _int_realloc
1 0.0% 0.0% _init
1 0.0% 0.0% __tls_get_addr
1 0.0% 0.0% __strncmp_sse42
1 0.0% 0.0% __pthread_cond_timedwait
1 0.0% 0.0% __lll_lock_wait_private
1 0.0% 0.0% __libc_enable_asynccancel
1 0.0% 0.0% __hash_string
1 0.0% 0.0% __clock_gettime
1 0.0% 0.0% __GI_strlen
1 0.0% 0.0% __GI_sigemptyset
1 0.0% 0.0% __GI_memcpy
1 0.0% 0.0% __GI___pthread_once
1 0.0% 0.0% __GI___pthread_mutex_init
1 0.0% 0.0% __GI___lxstat
[Summary]:
ticks total nonlib name
50400 53.5% 56.0% JavaScript
2842 3.0% 3.2% C++
1380 1.5% 1.5% GC
4234 4.5% Shared libraries
36679 39.0% Unaccounted
[C++ entry points]:
ticks cpp total name
857 41.5% 0.9% v8::internal::Builtin_HandleApiCall(int, unsigned long*, v8::internal::Isolate*)
319 15.4% 0.3% __GI_memset
184 8.9% 0.2% node::task_queue::RunMicrotasks(v8::FunctionCallbackInfo<v8::Value> const&)
137 6.6% 0.1% v8::internal::Builtin_JsonStringify(int, unsigned long*, v8::internal::Isolate*)
69 3.3% 0.1% _int_malloc
39 1.9% 0.0% v8::internal::Builtin_JsonParse(int, unsigned long*, v8::internal::Isolate*)
37 1.8% 0.0% __memmove_ssse3
29 1.4% 0.0% __memcpy_ssse3
24 1.2% 0.0% node::EnvGetter(v8::Local<v8::Name>, v8::PropertyCallbackInfo<v8::Value> const&)
20 1.0% 0.0% v8::internal::Builtin_DateConstructor(int, unsigned long*, v8::internal::Isolate*)
19 0.9% 0.0% v8::internal::Builtin_ArrayConcat(int, unsigned long*, v8::internal::Isolate*)
19 0.9% 0.0% __strlen_sse42
16 0.8% 0.0% v8::internal::Builtin_ErrorConstructor(int, unsigned long*, v8::internal::Isolate*)
15 0.7% 0.0% tcgetattr
13 0.6% 0.0% __GI___libc_malloc
11 0.5% 0.0% _int_free
11 0.5% 0.0% __gconv_transform_internal_ascii
9 0.4% 0.0% v8::internal::Builtin_ArrayBufferConstructor(int, unsigned long*, v8::internal::Isolate*)
9 0.4% 0.0% malloc_consolidate
8 0.4% 0.0% v8::internal::MarkingBarrier(v8::internal::HeapObject, v8::internal::FullObjectSlot, v8::internal::Object)
8 0.4% 0.0% node::StringBytes::Encode(v8::Isolate*, char const*, unsigned long, node::encoding, v8::Local<v8::Value>*)
8 0.4% 0.0% __strncpy_ssse3
8 0.4% 0.0% __gconv_transform_utf8_internal
7 0.3% 0.0% v8::internal::Accessors::ArrayLengthSetter(v8::Local<v8::Name>, v8::Local<v8::Value>, v8::PropertyCallbackInfo<v8::Boolean> const&)
7 0.3% 0.0% __GI_mprotect
6 0.3% 0.0% v8::internal::Accessors::FunctionPrototypeGetter(v8::Local<v8::Name>, v8::PropertyCallbackInfo<v8::Value> const&)
6 0.3% 0.0% __memcmp_sse4_1
6 0.3% 0.0% __GI__IO_vfprintf
5 0.2% 0.0% v8::internal::Builtin_NumberPrototypeToString(int, unsigned long*, v8::internal::Isolate*)
5 0.2% 0.0% std::basic_ostream<char, std::char_traits<char> >& std::__ostream_insert<char, std::char_traits<char> >(std::basic_ostream<char, std::char_traits<char> >&, char const*, long)
5 0.2% 0.0% cfree
5 0.2% 0.0% __GI_memchr
4 0.2% 0.0% v8::internal::Builtin_TypedArrayPrototypeBuffer(int, unsigned long*, v8::internal::Isolate*)
4 0.2% 0.0% node::url::(anonymous namespace)::Parse(v8::FunctionCallbackInfo<v8::Value> const&)
4 0.2% 0.0% node::(anonymous namespace)::Parser::Execute(v8::FunctionCallbackInfo<v8::Value> const&)
4 0.2% 0.0% __strcmp_sse42
4 0.2% 0.0% __pthread_cond_signal
4 0.2% 0.0% __gconv_get_builtin_trans
4 0.2% 0.0% __GI_strcmp
3 0.1% 0.0% v8::internal::PropertyCallbackArguments::PropertyCallbackArguments(v8::internal::Isolate*, v8::internal::Object, v8::internal::Object, v8::internal::JSObject, v8::Maybe<v8::internal::ShouldThrow>)
3 0.1% 0.0% v8::internal::Builtin_DateNow(int, unsigned long*, v8::internal::Isolate*)
3 0.1% 0.0% v8::internal::AstValueFactory::GetString(unsigned int, bool, v8::internal::Vector<unsigned char const>)
3 0.1% 0.0% v8::internal::AstValueFactory::GetOneByteStringInternal(v8::internal::Vector<unsigned char const>)
3 0.1% 0.0% iconv_open
3 0.1% 0.0% fwrite
3 0.1% 0.0% __GI___xstat
3 0.1% 0.0% __GI___libc_realloc
2 0.1% 0.0% v8::internal::LookupIterator::PropertyOrElement(v8::internal::Isolate*, v8::internal::Handle<v8::internal::Object>, v8::internal::Handle<v8::internal::Name>, v8::internal::Handle<v8::internal::JSReceiver>, v8::internal::LookupIterator::Configuration)
2 0.1% 0.0% v8::internal::Builtin_ObjectGetOwnPropertySymbols(int, unsigned long*, v8::internal::Isolate*)
2 0.1% 0.0% v8::internal::Builtin_DataViewConstructor(int, unsigned long*, v8::internal::Isolate*)
2 0.1% 0.0% operator new(unsigned long)
2 0.1% 0.0% getenv
2 0.1% 0.0% finite
2 0.1% 0.0% __ieee754_acos_sse2
2 0.1% 0.0% __gconv_lookup_cache
2 0.1% 0.0% __cos_avx
2 0.1% 0.0% __GI_madvise
2 0.1% 0.0% __GI___pthread_mutex_lock
2 0.1% 0.0% __GI___pthread_getspecific
2 0.1% 0.0% __GI__IO_file_xsputn
1 0.0% 0.0% void node::BaseObject::InternalFieldSet<2, &(v8::Value::IsFunction() const)>(v8::Local<v8::String>, v8::Local<v8::Value>, v8::PropertyCallbackInfo<void> const&)
1 0.0% 0.0% v8::internal::Zone::New(unsigned long)
1 0.0% 0.0% v8::internal::String::Flatten(v8::internal::Isolate*, v8::internal::Handle<v8::internal::String>, v8::internal::AllocationType)
1 0.0% 0.0% v8::internal::SharedFunctionInfo::script() const
1 0.0% 0.0% v8::internal::Scope::ResolveVariablesRecursively(v8::internal::ParseInfo*)
1 0.0% 0.0% v8::internal::Scope::AllocateVariablesRecursively()
1 0.0% 0.0% v8::internal::HandleScope::~HandleScope()
1 0.0% 0.0% v8::internal::FixedArray::set(int, v8::internal::Object)
1 0.0% 0.0% v8::internal::Compiler::CompileOptimized(v8::internal::Handle<v8::internal::JSFunction>, v8::internal::ConcurrencyMode)
1 0.0% 0.0% v8::internal::Compiler::Compile(v8::internal::Handle<v8::internal::SharedFunctionInfo>, v8::internal::Compiler::ClearExceptionFlag, v8::internal::IsCompiledScope*)
1 0.0% 0.0% v8::internal::Compiler::Compile(v8::internal::Handle<v8::internal::JSFunction>, v8::internal::Compiler::ClearExceptionFlag, v8::internal::IsCompiledScope*)
1 0.0% 0.0% v8::internal::CompareOperation::IsLiteralCompareTypeof(v8::internal::Expression**, v8::internal::Literal**)
1 0.0% 0.0% v8::internal::Builtins::name(int)
1 0.0% 0.0% v8::internal::Builtins::builtin(int)
1 0.0% 0.0% v8::internal::Builtin_StringPrototypeToUpperCaseIntl(int, unsigned long*, v8::internal::Isolate*)
1 0.0% 0.0% v8::internal::Builtin_StringPrototypeLastIndexOf(int, unsigned long*, v8::internal::Isolate*)
1 0.0% 0.0% v8::internal::Builtin_ReflectOwnKeys(int, unsigned long*, v8::internal::Isolate*)
1 0.0% 0.0% v8::internal::Builtin_ObjectDefineProperty(int, unsigned long*, v8::internal::Isolate*)
1 0.0% 0.0% v8::internal::Builtin_ObjectDefineProperties(int, unsigned long*, v8::internal::Isolate*)
1 0.0% 0.0% v8::internal::Builtin_CallSitePrototypeGetLineNumber(int, unsigned long*, v8::internal::Isolate*)
1 0.0% 0.0% v8::internal::Builtin_ArrayUnshift(int, unsigned long*, v8::internal::Isolate*)
1 0.0% 0.0% v8::internal::Builtin_ArrayShift(int, unsigned long*, v8::internal::Isolate*)
1 0.0% 0.0% v8::internal::Builtin_ArrayPop(int, unsigned long*, v8::internal::Isolate*)
1 0.0% 0.0% v8::internal::AstValueFactory::Internalize(v8::internal::Isolate*)
1 0.0% 0.0% v8::internal::Accessors::IsJSObjectFieldAccessor(v8::internal::Isolate*, v8::internal::Handle<v8::internal::Map>, v8::internal::Handle<v8::internal::Name>, v8::internal::FieldIndex*)
1 0.0% 0.0% v8::internal::Accessors::FunctionLengthGetter(v8::Local<v8::Name>, v8::PropertyCallbackInfo<v8::Value> const&)
1 0.0% 0.0% v8::internal::Accessors::ErrorStackGetter(v8::Local<v8::Name>, v8::PropertyCallbackInfo<v8::Value> const&)
1 0.0% 0.0% v8::String::Utf8Length(v8::Isolate*) const
1 0.0% 0.0% v8::String::NewFromUtf8(v8::Isolate*, char const*, v8::NewStringType, int)
1 0.0% 0.0% v8::Object::InternalFieldCount()
1 0.0% 0.0% v8::Isolate::GetCurrentContext()
1 0.0% 0.0% v8::HandleScope::~HandleScope()
1 0.0% 0.0% v8::External::Value() const
1 0.0% 0.0% v8::Context::Global()
1 0.0% 0.0% v8::ArrayBufferView::ByteOffset()
1 0.0% 0.0% std::ostream::sentry::sentry(std::ostream&)
1 0.0% 0.0% std::locale::id::_M_id() const
1 0.0% 0.0% std::local_Rb_tree_decrement(std::_Rb_tree_node_base*)
1 0.0% 0.0% round
1 0.0% 0.0% rand_r
1 0.0% 0.0% operator new(unsigned long, std::nothrow_t const&)
1 0.0% 0.0% operator delete[](void*)
1 0.0% 0.0% node::loader::ModuleWrap::Evaluate(v8::FunctionCallbackInfo<v8::Value> const&)
1 0.0% 0.0% node::inspector::(anonymous namespace)::InspectorConsoleCall(v8::FunctionCallbackInfo<v8::Value> const&)
1 0.0% 0.0% node::Utf8Value::Utf8Value(v8::Isolate*, v8::Local<v8::Value>)
1 0.0% 0.0% node::StreamBase::GetBytesRead(v8::FunctionCallbackInfo<v8::Value> const&)
1 0.0% 0.0% node::Environment::PrintSyncTrace() const
1 0.0% 0.0% node::Buffer::Length(v8::Local<v8::Object>)
1 0.0% 0.0% calloc
1 0.0% 0.0% buffered_vfprintf
1 0.0% 0.0% bsearch
1 0.0% 0.0% acos
1 0.0% 0.0% _int_realloc
1 0.0% 0.0% _init
1 0.0% 0.0% __tls_get_addr
1 0.0% 0.0% __strncmp_sse42
1 0.0% 0.0% __libc_enable_asynccancel
1 0.0% 0.0% __hash_string
1 0.0% 0.0% __floor_sse41
1 0.0% 0.0% __clock_gettime
1 0.0% 0.0% __GI_strlen
1 0.0% 0.0% __GI_memcpy
1 0.0% 0.0% __GI___pthread_once
1 0.0% 0.0% __GI___pthread_mutex_unlock
1 0.0% 0.0% __GI___pthread_mutex_init
1 0.0% 0.0% __GI___lxstat
1 0.0% 0.0% __GI__IO_default_xsputn
[Bottom up (heavy) profile]:
Note: percentage shows a share of a particular caller in the total
amount of its parent calls.
Callers occupying less than 1.0% are not shown.
ticks parent name
49742 52.8% RegExp: .+\.(jpg|jpeg|gif|bmp|png)$
49742 100.0% /data1/mm64/qianyuli/.nvm/versions/node/v12.18.0/bin/node
46510 93.5% LazyCompile: ~isImgUrl /data1/mm64/qianyuli/xdc_project/welfare_question/app/mmpayxdcwelfarepostersvr/dist/libs/url-handler.js:70:18
46510 100.0% LazyCompile: ~<anonymous> /data1/mm64/qianyuli/xdc_project/welfare_question/app/mmpayxdcwelfarepostersvr/dist/libs/url-handler.js:54:17
46510 100.0% /data1/mm64/qianyuli/.nvm/versions/node/v12.18.0/bin/node
46510 100.0% LazyCompile: ~imagesToBase64 /data1/mm64/qianyuli/xdc_project/welfare_question/app/mmpayxdcwelfarepostersvr/dist/libs/url-handler.js:50:24
3232 6.5% /data1/mm64/qianyuli/.nvm/versions/node/v12.18.0/bin/node
3232 100.0% LazyCompile: ~isImgUrl /data1/mm64/qianyuli/xdc_project/welfare_question/app/mmpayxdcwelfarepostersvr/dist/libs/url-handler.js:70:18
3232 100.0% LazyCompile: ~<anonymous> /data1/mm64/qianyuli/xdc_project/welfare_question/app/mmpayxdcwelfarepostersvr/dist/libs/url-handler.js:54:17
3232 100.0% /data1/mm64/qianyuli/.nvm/versions/node/v12.18.0/bin/node
36679 39.0% UNKNOWN
35345 96.4% v8::internal::Builtin_HandleApiCall(int, unsigned long*, v8::internal::Isolate*)
35097 99.3% LazyCompile: ~svgToImg /data1/mm64/qianyuli/xdc_project/welfare_question/app/mmpayxdcwelfarepostersvr/dist/libs/draw-canvas.js:8:18
35095 100.0% /data1/mm64/qianyuli/.nvm/versions/node/v12.18.0/bin/node
33620 95.8% /data1/mm64/qianyuli/.nvm/versions/node/v12.18.0/bin/node
33620 100.0% LazyCompile: *processTicksAndRejections internal/process/task_queues.js:69:35
1475 4.2% node::task_queue::RunMicrotasks(v8::FunctionCallbackInfo<v8::Value> const&)
1475 100.0% LazyCompile: ~processTicksAndRejections internal/process/task_queues.js:69:35
879 2.4% LazyCompile: ~svgToImg /data1/mm64/qianyuli/xdc_project/welfare_question/app/mmpayxdcwelfarepostersvr/dist/libs/draw-canvas.js:8:18
757 86.1% LazyCompile: ~default_1 /data1/mm64/qianyuli/xdc_project/welfare_question/app/mmpayxdcwelfarepostersvr/dist/controller/api/poster.js:41:25
757 100.0% /data1/mm64/qianyuli/.nvm/versions/node/v12.18.0/bin/node
757 100.0% /data1/mm64/qianyuli/.nvm/versions/node/v12.18.0/bin/node
757 100.0% LazyCompile: *processTicksAndRejections internal/process/task_queues.js:69:35
120 13.7% LazyCompile: *default_1 /data1/mm64/qianyuli/xdc_project/welfare_question/app/mmpayxdcwelfarepostersvr/dist/controller/api/poster.js:41:25
120 100.0% /data1/mm64/qianyuli/.nvm/versions/node/v12.18.0/bin/node
120 100.0% /data1/mm64/qianyuli/.nvm/versions/node/v12.18.0/bin/node
120 100.0% LazyCompile: *processTicksAndRejections internal/process/task_queues.js:69:35
385 1.0% LazyCompile: ~getImgSize /data1/mm64/qianyuli/xdc_project/welfare_question/app/mmpayxdcwelfarepostersvr/dist/utils/util.js:13:20
199 51.7% LazyCompile: ~setAlignByStyle /data1/mm64/qianyuli/xdc_project/welfare_question/app/mmpayxdcwelfarepostersvr/dist/libs/fill-data-to-svg-xml.js:40:25
199 100.0% LazyCompile: ~image /data1/mm64/qianyuli/xdc_project/welfare_question/app/mmpayxdcwelfarepostersvr/dist/libs/fill-data-to-svg-xml.js:16:12
199 100.0% LazyCompile: ~<anonymous> /data1/mm64/qianyuli/xdc_project/welfare_question/app/mmpayxdcwelfarepostersvr/dist/libs/fill-data-to-svg-xml.js:83:14
199 100.0% /data1/mm64/qianyuli/.nvm/versions/node/v12.18.0/bin/node
186 48.3% LazyCompile: *setAlignByStyle /data1/mm64/qianyuli/xdc_project/welfare_question/app/mmpayxdcwelfarepostersvr/dist/libs/fill-data-to-svg-xml.js:40:25
186 100.0% LazyCompile: ~image /data1/mm64/qianyuli/xdc_project/welfare_question/app/mmpayxdcwelfarepostersvr/dist/libs/fill-data-to-svg-xml.js:16:12
169 90.9% LazyCompile: ~<anonymous> /data1/mm64/qianyuli/xdc_project/welfare_question/app/mmpayxdcwelfarepostersvr/dist/libs/fill-data-to-svg-xml.js:83:14
169 100.0% /data1/mm64/qianyuli/.nvm/versions/node/v12.18.0/bin/node
17 9.1% LazyCompile: *<anonymous> /data1/mm64/qianyuli/xdc_project/welfare_question/app/mmpayxdcwelfarepostersvr/dist/libs/fill-data-to-svg-xml.js:83:14
17 100.0% /data1/mm64/qianyuli/.nvm/versions/node/v12.18.0/bin/node
3692 3.9% /data1/mm64/qianyuli/.nvm/versions/node/v12.18.0/bin/node
967 26.2% /data1/mm64/qianyuli/.nvm/versions/node/v12.18.0/bin/node
226 23.4% /data1/mm64/qianyuli/.nvm/versions/node/v12.18.0/bin/node
52 23.0% LazyCompile: *format /data1/mm64/qianyuli/xdc_project/welfare_question/app/mmpayxdcwelfarepostersvr/node_modules/fecha/lib/fecha.umd.js:246:25
38 73.1% LazyCompile: *_write /data1/mm64/qianyuli/xdc_project/welfare_question/app/mmpayxdcwelfarepostersvr/node_modules/winston-transport/index.js:69:51
38 100.0% LazyCompile: *ondata /data1/mm64/qianyuli/xdc_project/welfare_question/app/mmpayxdcwelfarepostersvr/node_modules/winston/node_modules/readable-stream/lib/_stream_readable.js:679:18
12 23.1% LazyCompile: *Writable.write /data1/mm64/qianyuli/xdc_project/welfare_question/app/mmpayxdcwelfarepostersvr/node_modules/winston-transport/node_modules/readable-stream/lib/_stream_writable.js:288:37
12 100.0% LazyCompile: ~ondata /data1/mm64/qianyuli/xdc_project/welfare_question/app/mmpayxdcwelfarepostersvr/node_modules/winston/node_modules/readable-stream/lib/_stream_readable.js:679:18
2 3.8% LazyCompile: ~_write /data1/mm64/qianyuli/xdc_project/welfare_question/app/mmpayxdcwelfarepostersvr/node_modules/winston-transport/index.js:69:51
2 100.0% LazyCompile: ~doWrite /data1/mm64/qianyuli/xdc_project/welfare_question/app/mmpayxdcwelfarepostersvr/node_modules/winston-transport/node_modules/readable-stream/lib/_stream_writable.js:404:17
19 8.4% LazyCompile: *renderNode /data1/mm64/qianyuli/xdc_project/welfare_question/app/mmpayxdcwelfarepostersvr/node_modules/dom-serializer/lib/index.js:120:20
15 78.9% LazyCompile: *renderNode /data1/mm64/qianyuli/xdc_project/welfare_question/app/mmpayxdcwelfarepostersvr/node_modules/dom-serializer/lib/index.js:120:20
12 80.0% LazyCompile: *renderNode /data1/mm64/qianyuli/xdc_project/welfare_question/app/mmpayxdcwelfarepostersvr/node_modules/dom-serializer/lib/index.js:120:20
2 13.3% LazyCompile: *render /data1/mm64/qianyuli/xdc_project/welfare_question/app/mmpayxdcwelfarepostersvr/node_modules/dom-serializer/lib/index.js:110:16
1 6.7% LazyCompile: ~render /data1/mm64/qianyuli/xdc_project/welfare_question/app/mmpayxdcwelfarepostersvr/node_modules/dom-serializer/lib/index.js:110:16
2 10.5% LazyCompile: ~render /data1/mm64/qianyuli/xdc_project/welfare_question/app/mmpayxdcwelfarepostersvr/node_modules/dom-serializer/lib/index.js:110:16
2 100.0% LazyCompile: ~render /data1/mm64/qianyuli/xdc_project/welfare_question/app/mmpayxdcwelfarepostersvr/node_modules/cheerio/lib/static.js:18:16
2 10.5% LazyCompile: *render /data1/mm64/qianyuli/xdc_project/welfare_question/app/mmpayxdcwelfarepostersvr/node_modules/dom-serializer/lib/index.js:110:16
2 100.0% LazyCompile: ~render /data1/mm64/qianyuli/xdc_project/welfare_question/app/mmpayxdcwelfarepostersvr/node_modules/cheerio/lib/static.js:18:16
19 8.4% LazyCompile: *readPackageScope internal/modules/cjs/loader.js:279:26
19 100.0% LazyCompile: *readPackageScope internal/modules/cjs/loader.js:279:26
14 73.7% LazyCompile: *_transform /data1/mm64/qianyuli/xdc_project/welfare_question/app/mmpayxdcwelfarepostersvr/node_modules/winston/lib/winston/logger.js:267:13
2 10.5% LazyCompile: *_write /data1/mm64/qianyuli/xdc_project/welfare_question/app/mmpayxdcwelfarepostersvr/node_modules/winston-transport/index.js:69:51
1 5.3% LazyCompile: ~stringify /data1/mm64/qianyuli/xdc_project/welfare_question/app/mmpayxdcwelfarepostersvr/node_modules/safe-stable-stringify/stable.js:538:20
1 5.3% LazyCompile: ~_write /data1/mm64/qianyuli/xdc_project/welfare_question/app/mmpayxdcwelfarepostersvr/node_modules/winston-transport/index.js:69:51
1 5.3% LazyCompile: *<anonymous> /data1/mm64/qianyuli/xdc_project/welfare_question/app/mmpayxdcwelfarepostersvr/node_modules/logform/json.js:26:25
13 5.8% /data1/mm64/qianyuli/.nvm/versions/node/v12.18.0/bin/node
10 76.9% LazyCompile: *processTicksAndRejections internal/process/task_queues.js:69:35
2 15.4% LazyCompile: *validate /data1/mm64/qianyuli/xdc_project/welfare_question/app/mmpayxdcwelfarepostersvr/node_modules/joi/lib/types/keys.js:52:13
2 100.0% LazyCompile: *exports.validate /data1/mm64/qianyuli/xdc_project/welfare_question/app/mmpayxdcwelfarepostersvr/node_modules/joi/lib/validator.js:173:29
1 7.7% LazyCompile: ~replaceXRange /data1/mm64/qianyuli/xdc_project/welfare_question/app/mmpayxdcwelfarepostersvr/node_modules/@tencent/polaris/node_modules/semver/classes/range.js:351:23
1 100.0% LazyCompile: ~<anonymous> /data1/mm64/qianyuli/xdc_project/welfare_question/app/mmpayxdcwelfarepostersvr/node_modules/@tencent/polaris/node_modules/semver/classes/range.js:346:32
12 5.3% LazyCompile: *processTicksAndRejections internal/process/task_queues.js:69:35
9 4.0% LazyCompile: *parseSelector /data1/mm64/qianyuli/xdc_project/welfare_question/app/mmpayxdcwelfarepostersvr/node_modules/css-what/lib/parse.js:149:23
4 44.4% LazyCompile: *find /data1/mm64/qianyuli/xdc_project/welfare_question/app/mmpayxdcwelfarepostersvr/node_modules/cheerio/lib/api/traversing.js:35:14
4 100.0% LazyCompile: *initialize /data1/mm64/qianyuli/xdc_project/welfare_question/app/mmpayxdcwelfarepostersvr/node_modules/cheerio/lib/load.js:36:24
3 33.3% LazyCompile: *parse /data1/mm64/qianyuli/xdc_project/welfare_question/app/mmpayxdcwelfarepostersvr/node_modules/css-what/lib/parse.js:140:15
3 100.0% LazyCompile: ~select /data1/mm64/qianyuli/xdc_project/welfare_question/app/mmpayxdcwelfarepostersvr/node_modules/cheerio-select/lib/index.js:175:16
2 22.2% LazyCompile: *searchElementLocation /data1/mm64/qianyuli/xdc_project/welfare_question/app/mmpayxdcwelfarepostersvr/dist/libs/serach-element-location.js:14:31
1 50.0% LazyCompile: ~<anonymous> /data1/mm64/qianyuli/xdc_project/welfare_question/app/mmpayxdcwelfarepostersvr/dist/libs/serach-element-location.js:6:71
1 50.0% LazyCompile: *default_1 /data1/mm64/qianyuli/xdc_project/welfare_question/app/mmpayxdcwelfarepostersvr/dist/controller/api/poster.js:41:25
8 3.5% LazyCompile: *find /data1/mm64/qianyuli/xdc_project/welfare_question/app/mmpayxdcwelfarepostersvr/node_modules/cheerio/lib/api/traversing.js:35:14
7 87.5% LazyCompile: *initialize /data1/mm64/qianyuli/xdc_project/welfare_question/app/mmpayxdcwelfarepostersvr/node_modules/cheerio/lib/load.js:36:24
4 57.1% LazyCompile: ~rect /data1/mm64/qianyuli/xdc_project/welfare_question/app/mmpayxdcwelfarepostersvr/dist/libs/fill-data-to-svg-xml.js:24:11
1 14.3% LazyCompile: ~image /data1/mm64/qianyuli/xdc_project/welfare_question/app/mmpayxdcwelfarepostersvr/dist/libs/fill-data-to-svg-xml.js:16:12
1 14.3% LazyCompile: ~fillDataToSvgXml /data1/mm64/qianyuli/xdc_project/welfare_question/app/mmpayxdcwelfarepostersvr/dist/libs/fill-data-to-svg-xml.js:75:26
1 14.3% LazyCompile: *setAlignByStyle /data1/mm64/qianyuli/xdc_project/welfare_question/app/mmpayxdcwelfarepostersvr/dist/libs/fill-data-to-svg-xml.js:40:25
1 12.5% LazyCompile: *searchElementLocation /data1/mm64/qianyuli/xdc_project/welfare_question/app/mmpayxdcwelfarepostersvr/dist/libs/serach-element-location.js:14:31
1 100.0% LazyCompile: ~<anonymous> /data1/mm64/qianyuli/xdc_project/welfare_question/app/mmpayxdcwelfarepostersvr/dist/libs/serach-element-location.js:6:71
7 3.1% LazyCompile: ~readPackage internal/modules/cjs/loader.js:245:21
7 100.0% LazyCompile: ~readPackageScope internal/modules/cjs/loader.js:279:26
6 85.7% LazyCompile: ~trySelf internal/modules/cjs/loader.js:396:17
1 14.3% LazyCompile: ~Module._extensions..js internal/modules/cjs/loader.js:1147:37
7 3.1% LazyCompile: ~imagesToBase64 /data1/mm64/qianyuli/xdc_project/welfare_question/app/mmpayxdcwelfarepostersvr/dist/libs/url-handler.js:50:24
7 100.0% /data1/mm64/qianyuli/.nvm/versions/node/v12.18.0/bin/node
6 85.7% /data1/mm64/qianyuli/.nvm/versions/node/v12.18.0/bin/node
1 14.3% node::task_queue::RunMicrotasks(v8::FunctionCallbackInfo<v8::Value> const&)
7 3.1% LazyCompile: ~format /data1/mm64/qianyuli/xdc_project/welfare_question/app/mmpayxdcwelfarepostersvr/node_modules/fecha/lib/fecha.umd.js:246:25
6 85.7% LazyCompile: ~<anonymous> /data1/mm64/qianyuli/xdc_project/welfare_question/app/mmpayxdcwelfarepostersvr/node_modules/logform/timestamp.js:14:25
6 100.0% LazyCompile: ~<anonymous> /data1/mm64/qianyuli/xdc_project/welfare_question/app/mmpayxdcwelfarepostersvr/node_modules/logform/combine.js:17:10
1 14.3% LazyCompile: ~_write /data1/mm64/qianyuli/xdc_project/welfare_question/app/mmpayxdcwelfarepostersvr/node_modules/winston-transport/index.js:69:51
1 100.0% LazyCompile: ~doWrite /data1/mm64/qianyuli/xdc_project/welfare_question/app/mmpayxdcwelfarepostersvr/node_modules/winston-transport/node_modules/readable-stream/lib/_stream_writable.js:404:17
5 2.2% LazyCompile: ~LoadedCheerio /data1/mm64/qianyuli/xdc_project/welfare_question/app/mmpayxdcwelfarepostersvr/node_modules/cheerio/lib/load.js:31:31
5 100.0% LazyCompile: ~initialize /data1/mm64/qianyuli/xdc_project/welfare_question/app/mmpayxdcwelfarepostersvr/node_modules/cheerio/lib/load.js:36:24
3 60.0% LazyCompile: ~setAlignByStyle /data1/mm64/qianyuli/xdc_project/welfare_question/app/mmpayxdcwelfarepostersvr/dist/libs/fill-data-to-svg-xml.js:40:25
2 40.0% LazyCompile: ~searchElementLocation /data1/mm64/qianyuli/xdc_project/welfare_question/app/mmpayxdcwelfarepostersvr/dist/libs/serach-element-location.js:14:31
5 2.2% LazyCompile: *toArray /data1/mm64/qianyuli/xdc_project/welfare_question/app/mmpayxdcwelfarepostersvr/node_modules/cheerio/lib/api/traversing.js:735:17
4 80.0% LazyCompile: ~find /data1/mm64/qianyuli/xdc_project/welfare_question/app/mmpayxdcwelfarepostersvr/node_modules/cheerio/lib/api/traversing.js:35:14
2 50.0% LazyCompile: *searchElementLocation /data1/mm64/qianyuli/xdc_project/welfare_question/app/mmpayxdcwelfarepostersvr/dist/libs/serach-element-location.js:14:31
2 50.0% LazyCompile: *initialize /data1/mm64/qianyuli/xdc_project/welfare_question/app/mmpayxdcwelfarepostersvr/node_modules/cheerio/lib/load.js:36:24
1 20.0% LazyCompile: ~fillDataToSvgXml /data1/mm64/qianyuli/xdc_project/welfare_question/app/mmpayxdcwelfarepostersvr/dist/libs/fill-data-to-svg-xml.js:75:26
1 100.0% LazyCompile: ~default_1 /data1/mm64/qianyuli/xdc_project/welfare_question/app/mmpayxdcwelfarepostersvr/dist/controller/api/poster.js:41:25
4 1.8% LazyCompile: ~unescapeCSS /data1/mm64/qianyuli/xdc_project/welfare_question/app/mmpayxdcwelfarepostersvr/node_modules/css-what/lib/parse.js:125:21
4 100.0% LazyCompile: ~getName /data1/mm64/qianyuli/xdc_project/welfare_question/app/mmpayxdcwelfarepostersvr/node_modules/css-what/lib/parse.js:154:21
4 100.0% LazyCompile: ~parseSelector /data1/mm64/qianyuli/xdc_project/welfare_question/app/mmpayxdcwelfarepostersvr/node_modules/css-what/lib/parse.js:149:23
4 1.8% LazyCompile: ~calculateServerName _http_agent.js:286:29
4 100.0% LazyCompile: ~addRequest _http_agent.js:188:49
3 75.0% LazyCompile: *ClientRequest _http_client.js:85:23
1 25.0% LazyCompile: ~ClientRequest _http_client.js:85:23
3 1.3% LazyCompile: ~log /data1/mm64/qianyuli/xdc_project/welfare_question/app/mmpayxdcwelfarepostersvr/node_modules/@tencent/xdc-accesslog-middleware/node_modules/@tencent/xdc-cube-reporter/dist/index.js:66:8
3 100.0% LazyCompile: ~<anonymous> /data1/mm64/qianyuli/xdc_project/welfare_question/app/mmpayxdcwelfarepostersvr/node_modules/@tencent/xdc-accesslog-middleware/dist/index.js:31:27
3 100.0% /data1/mm64/qianyuli/.nvm/versions/node/v12.18.0/bin/node
3 1.3% LazyCompile: ~getImgSize /data1/mm64/qianyuli/xdc_project/welfare_question/app/mmpayxdcwelfarepostersvr/dist/utils/util.js:13:20
2 66.7% LazyCompile: *setAlignByStyle /data1/mm64/qianyuli/xdc_project/welfare_question/app/mmpayxdcwelfarepostersvr/dist/libs/fill-data-to-svg-xml.js:40:25
2 100.0% LazyCompile: ~image /data1/mm64/qianyuli/xdc_project/welfare_question/app/mmpayxdcwelfarepostersvr/dist/libs/fill-data-to-svg-xml.js:16:12
1 33.3% LazyCompile: ~setAlignByStyle /data1/mm64/qianyuli/xdc_project/welfare_question/app/mmpayxdcwelfarepostersvr/dist/libs/fill-data-to-svg-xml.js:40:25
1 100.0% LazyCompile: ~image /data1/mm64/qianyuli/xdc_project/welfare_question/app/mmpayxdcwelfarepostersvr/dist/libs/fill-data-to-svg-xml.js:16:12
3 1.3% LazyCompile: ~getHeaders _http_outgoing.js:550:59
3 100.0% LazyCompile: ~get header /data1/mm64/qianyuli/xdc_project/welfare_question/app/mmpayxdcwelfarepostersvr/node_modules/koa/lib/response.js:47:13
3 100.0% LazyCompile: ~get headers /data1/mm64/qianyuli/xdc_project/welfare_question/app/mmpayxdcwelfarepostersvr/node_modules/koa/lib/response.js:61:14
3 1.3% LazyCompile: ~fillDataToSvgXml /data1/mm64/qianyuli/xdc_project/welfare_question/app/mmpayxdcwelfarepostersvr/dist/libs/fill-data-to-svg-xml.js:75:26
2 66.7% LazyCompile: *default_1 /data1/mm64/qianyuli/xdc_project/welfare_question/app/mmpayxdcwelfarepostersvr/dist/controller/api/poster.js:41:25
2 100.0% /data1/mm64/qianyuli/.nvm/versions/node/v12.18.0/bin/node
1 33.3% LazyCompile: ~default_1 /data1/mm64/qianyuli/xdc_project/welfare_question/app/mmpayxdcwelfarepostersvr/dist/controller/api/poster.js:41:25
1 100.0% /data1/mm64/qianyuli/.nvm/versions/node/v12.18.0/bin/node
3 1.3% LazyCompile: *searchElementLocation /data1/mm64/qianyuli/xdc_project/welfare_question/app/mmpayxdcwelfarepostersvr/dist/libs/serach-element-location.js:14:31
2 66.7% LazyCompile: ~<anonymous> /data1/mm64/qianyuli/xdc_project/welfare_question/app/mmpayxdcwelfarepostersvr/dist/libs/serach-element-location.js:6:71
2 100.0% /data1/mm64/qianyuli/.nvm/versions/node/v12.18.0/bin/node
1 33.3% LazyCompile: *default_1 /data1/mm64/qianyuli/xdc_project/welfare_question/app/mmpayxdcwelfarepostersvr/dist/controller/api/poster.js:41:25
1 100.0% /data1/mm64/qianyuli/.nvm/versions/node/v12.18.0/bin/node
26 2.7% LazyCompile: ~<anonymous> /data1/mm64/qianyuli/xdc_project/welfare_question/app/mmpayxdcwelfarepostersvr/node_modules/winston/lib/winston/create-logger.js:53:45
26 100.0% /data1/mm64/qianyuli/.nvm/versions/node/v12.18.0/bin/node
26 100.0% LazyCompile: ~module.exports /data1/mm64/qianyuli/xdc_project/welfare_question/app/mmpayxdcwelfarepostersvr/node_modules/winston/lib/winston/create-logger.js:25:27
26 100.0% LazyCompile: ~createLogger /data1/mm64/qianyuli/xdc_project/welfare_question/app/mmpayxdcwelfarepostersvr/node_modules/@tencent/xdc-logger/dist/logger.js:24:22
20 2.1% LazyCompile: *format /data1/mm64/qianyuli/xdc_project/welfare_question/app/mmpayxdcwelfarepostersvr/node_modules/fecha/lib/fecha.umd.js:246:25
17 85.0% LazyCompile: *_write /data1/mm64/qianyuli/xdc_project/welfare_question/app/mmpayxdcwelfarepostersvr/node_modules/winston-transport/index.js:69:51
15 88.2% LazyCompile: *ondata /data1/mm64/qianyuli/xdc_project/welfare_question/app/mmpayxdcwelfarepostersvr/node_modules/winston/node_modules/readable-stream/lib/_stream_readable.js:679:18
15 100.0% LazyCompile: *addChunk /data1/mm64/qianyuli/xdc_project/welfare_question/app/mmpayxdcwelfarepostersvr/node_modules/winston/node_modules/readable-stream/lib/_stream_readable.js:295:18
2 11.8% LazyCompile: ~doWrite /data1/mm64/qianyuli/xdc_project/welfare_question/app/mmpayxdcwelfarepostersvr/node_modules/winston-transport/node_modules/readable-stream/lib/_stream_writable.js:404:17
2 100.0% LazyCompile: ~writeOrBuffer /data1/mm64/qianyuli/xdc_project/welfare_question/app/mmpayxdcwelfarepostersvr/node_modules/winston-transport/node_modules/readable-stream/lib/_stream_writable.js:363:23
3 15.0% LazyCompile: *Writable.write /data1/mm64/qianyuli/xdc_project/welfare_question/app/mmpayxdcwelfarepostersvr/node_modules/winston-transport/node_modules/readable-stream/lib/_stream_writable.js:288:37
3 100.0% LazyCompile: ~ondata /data1/mm64/qianyuli/xdc_project/welfare_question/app/mmpayxdcwelfarepostersvr/node_modules/winston/node_modules/readable-stream/lib/_stream_readable.js:679:18
3 100.0% LazyCompile: *emit events.js:263:44
16 1.7% LazyCompile: *processTicksAndRejections internal/process/task_queues.js:69:35
15 1.6% LazyCompile: *nextTick internal/process/task_queues.js:105:18
4 26.7% LazyCompile: ~onwrite /data1/mm64/qianyuli/xdc_project/welfare_question/app/mmpayxdcwelfarepostersvr/node_modules/winston/node_modules/readable-stream/lib/_stream_writable.js:444:17
4 100.0% LazyCompile: ~WritableState.onwrite /data1/mm64/qianyuli/xdc_project/welfare_question/app/mmpayxdcwelfarepostersvr/node_modules/winston/node_modules/readable-stream/lib/_stream_writable.js:159:27
4 100.0% LazyCompile: ~afterTransform /data1/mm64/qianyuli/xdc_project/welfare_question/app/mmpayxdcwelfarepostersvr/node_modules/winston/node_modules/readable-stream/lib/_stream_transform.js:76:24
2 13.3% LazyCompile: ~resume /data1/mm64/qianyuli/xdc_project/welfare_question/app/mmpayxdcwelfarepostersvr/node_modules/winston/node_modules/readable-stream/lib/_stream_readable.js:902:16
2 100.0% LazyCompile: ~Readable.resume /data1/mm64/qianyuli/xdc_project/welfare_question/app/mmpayxdcwelfarepostersvr/node_modules/winston/node_modules/readable-stream/lib/_stream_readable.js:886:38
2 100.0% LazyCompile: ~Readable.on /data1/mm64/qianyuli/xdc_project/welfare_question/app/mmpayxdcwelfarepostersvr/node_modules/winston/node_modules/readable-stream/lib/_stream_readable.js:804:34
2 13.3% LazyCompile: ~onwrite /data1/mm64/qianyuli/xdc_project/welfare_question/app/mmpayxdcwelfarepostersvr/node_modules/winston-transport/node_modules/readable-stream/lib/_stream_writable.js:444:17
2 100.0% LazyCompile: ~WritableState.onwrite /data1/mm64/qianyuli/xdc_project/welfare_question/app/mmpayxdcwelfarepostersvr/node_modules/winston-transport/node_modules/readable-stream/lib/_stream_writable.js:159:27
2 100.0% LazyCompile: ~log /data1/mm64/qianyuli/xdc_project/welfare_question/app/mmpayxdcwelfarepostersvr/node_modules/winston/lib/winston/transports/console.js:44:6
2 13.3% LazyCompile: ~abort _http_client.js:333:47
2 100.0% LazyCompile: ~abortRequest /data1/mm64/qianyuli/xdc_project/welfare_question/app/mmpayxdcwelfarepostersvr/node_modules/urllib/lib/urllib.js:1062:24
1 50.0% LazyCompile: ~<anonymous> /data1/mm64/qianyuli/xdc_project/welfare_question/app/mmpayxdcwelfarepostersvr/node_modules/urllib/lib/urllib.js:993:41
1 50.0% LazyCompile: ~<anonymous> /data1/mm64/qianyuli/xdc_project/welfare_question/app/mmpayxdcwelfarepostersvr/node_modules/urllib/lib/urllib.js:972:40
2 13.3% LazyCompile: ~<anonymous> internal/streams/destroy.js:38:30
2 100.0% LazyCompile: ~Socket._destroy net.js:652:37
2 100.0% LazyCompile: ~destroy internal/streams/destroy.js:5:17
1 6.7% LazyCompile: ~resOnFinish _http_server.js:676:21
1 100.0% LazyCompile: *emit events.js:263:44
1 100.0% LazyCompile: ~onFinish _http_outgoing.js:721:18
1 6.7% LazyCompile: ~onwrite _stream_writable.js:431:17
1 100.0% LazyCompile: ~afterWriteDispatched internal/stream_base_commons.js:149:30
1 100.0% LazyCompile: ~writevGeneric internal/stream_base_commons.js:116:23
1 6.7% LazyCompile: ~onSocket _http_client.js:729:53
1 100.0% LazyCompile: ~setRequestSocket _http_agent.js:427:26
1 100.0% LazyCompile: ~handleSocketCreation_Inner _http_agent.js:415:45
13 1.3% LazyCompile: *onwrite /data1/mm64/qianyuli/xdc_project/welfare_question/app/mmpayxdcwelfarepostersvr/node_modules/winston-transport/node_modules/readable-stream/lib/_stream_writable.js:444:17
13 100.0% LazyCompile: ~WritableState.onwrite /data1/mm64/qianyuli/xdc_project/welfare_question/app/mmpayxdcwelfarepostersvr/node_modules/winston-transport/node_modules/readable-stream/lib/_stream_writable.js:159:27
6 46.2% LazyCompile: *log /data1/mm64/qianyuli/xdc_project/welfare_question/app/mmpayxdcwelfarepostersvr/node_modules/winston/lib/winston/transports/console.js:44:6
6 100.0% LazyCompile: *Writable.write /data1/mm64/qianyuli/xdc_project/welfare_question/app/mmpayxdcwelfarepostersvr/node_modules/winston-transport/node_modules/readable-stream/lib/_stream_writable.js:288:37
6 46.2% LazyCompile: *_write /data1/mm64/qianyuli/xdc_project/welfare_question/app/mmpayxdcwelfarepostersvr/node_modules/winston-transport/index.js:69:51
6 100.0% LazyCompile: *ondata /data1/mm64/qianyuli/xdc_project/welfare_question/app/mmpayxdcwelfarepostersvr/node_modules/winston/node_modules/readable-stream/lib/_stream_readable.js:679:18
1 7.7% LazyCompile: *Writable.write /data1/mm64/qianyuli/xdc_project/welfare_question/app/mmpayxdcwelfarepostersvr/node_modules/winston-transport/node_modules/readable-stream/lib/_stream_writable.js:288:37
1 100.0% LazyCompile: ~ondata /data1/mm64/qianyuli/xdc_project/welfare_question/app/mmpayxdcwelfarepostersvr/node_modules/winston/node_modules/readable-stream/lib/_stream_readable.js:679:18
12 1.2% LazyCompile: ~Tokenizer.parse /data1/mm64/qianyuli/xdc_project/welfare_question/app/mmpayxdcwelfarepostersvr/node_modules/htmlparser2/lib/Tokenizer.js:627:42
12 100.0% LazyCompile: ~Tokenizer.write /data1/mm64/qianyuli/xdc_project/welfare_question/app/mmpayxdcwelfarepostersvr/node_modules/htmlparser2/lib/Tokenizer.js:119:42
12 100.0% LazyCompile: ~Tokenizer.end /data1/mm64/qianyuli/xdc_project/welfare_question/app/mmpayxdcwelfarepostersvr/node_modules/htmlparser2/lib/Tokenizer.js:125:40
12 100.0% LazyCompile: ~Parser.end /data1/mm64/qianyuli/xdc_project/welfare_question/app/mmpayxdcwelfarepostersvr/node_modules/htmlparser2/lib/Parser.js:346:37
12 1.2% LazyCompile: *readPackageScope internal/modules/cjs/loader.js:279:26
12 100.0% LazyCompile: *readPackageScope internal/modules/cjs/loader.js:279:26
9 75.0% LazyCompile: *_transform /data1/mm64/qianyuli/xdc_project/welfare_question/app/mmpayxdcwelfarepostersvr/node_modules/winston/lib/winston/logger.js:267:13
9 100.0% LazyCompile: *DerivedLogger.<computed> /data1/mm64/qianyuli/xdc_project/welfare_question/app/mmpayxdcwelfarepostersvr/node_modules/winston/lib/winston/create-logger.js:71:47
2 16.7% LazyCompile: *<anonymous> /data1/mm64/qianyuli/xdc_project/welfare_question/app/mmpayxdcwelfarepostersvr/node_modules/logform/json.js:26:25
2 100.0% LazyCompile: ~_transform /data1/mm64/qianyuli/xdc_project/welfare_question/app/mmpayxdcwelfarepostersvr/node_modules/winston/lib/winston/logger.js:267:13
1 8.3% LazyCompile: *_write /data1/mm64/qianyuli/xdc_project/welfare_question/app/mmpayxdcwelfarepostersvr/node_modules/winston-transport/index.js:69:51
1 100.0% LazyCompile: *ondata /data1/mm64/qianyuli/xdc_project/welfare_question/app/mmpayxdcwelfarepostersvr/node_modules/winston/node_modules/readable-stream/lib/_stream_readable.js:679:18
11 1.1% LazyCompile: ~configure /data1/mm64/qianyuli/xdc_project/welfare_question/app/mmpayxdcwelfarepostersvr/node_modules/winston/lib/winston/logger.js:81:12
11 100.0% LazyCompile: ~Logger /data1/mm64/qianyuli/xdc_project/welfare_question/app/mmpayxdcwelfarepostersvr/node_modules/winston/lib/winston/logger.js:40:14
11 100.0% LazyCompile: ~DerivedLogger /data1/mm64/qianyuli/xdc_project/welfare_question/app/mmpayxdcwelfarepostersvr/node_modules/winston/lib/winston/create-logger.js:43:16
11 100.0% LazyCompile: ~module.exports /data1/mm64/qianyuli/xdc_project/welfare_question/app/mmpayxdcwelfarepostersvr/node_modules/winston/lib/winston/create-logger.js:25:27
11 1.1% LazyCompile: ~Readable /data1/mm64/qianyuli/xdc_project/welfare_question/app/mmpayxdcwelfarepostersvr/node_modules/winston/node_modules/readable-stream/lib/_stream_readable.js:169:18
11 100.0% LazyCompile: ~Duplex /data1/mm64/qianyuli/xdc_project/welfare_question/app/mmpayxdcwelfarepostersvr/node_modules/winston/node_modules/readable-stream/lib/_stream_duplex.js:58:16
11 100.0% LazyCompile: ~Transform /data1/mm64/qianyuli/xdc_project/welfare_question/app/mmpayxdcwelfarepostersvr/node_modules/winston/node_modules/readable-stream/lib/_stream_transform.js:98:19
11 100.0% LazyCompile: ~Logger /data1/mm64/qianyuli/xdc_project/welfare_question/app/mmpayxdcwelfarepostersvr/node_modules/winston/lib/winston/logger.js:40:14
11 1.1% LazyCompile: ~EventEmitter.init events.js:130:29
11 100.0% LazyCompile: ~EventEmitter events.js:64:22
11 100.0% LazyCompile: ~Stream internal/streams/legacy.js:9:16
7 63.6% LazyCompile: ~Readable /data1/mm64/qianyuli/xdc_project/welfare_question/app/mmpayxdcwelfarepostersvr/node_modules/winston/node_modules/readable-stream/lib/_stream_readable.js:169:18
2 18.2% LazyCompile: ~Readable _stream_readable.js:169:18
2 18.2% LazyCompile: ~OutgoingMessage _http_outgoing.js:81:25
10 1.0% LazyCompile: ~module.exports /data1/mm64/qianyuli/xdc_project/welfare_question/app/mmpayxdcwelfarepostersvr/node_modules/winston/lib/winston/create-logger.js:25:27
10 100.0% LazyCompile: ~createLogger /data1/mm64/qianyuli/xdc_project/welfare_question/app/mmpayxdcwelfarepostersvr/node_modules/@tencent/xdc-logger/dist/logger.js:24:22
10 100.0% LazyCompile: ~<anonymous> /data1/mm64/qianyuli/xdc_project/welfare_question/app/mmpayxdcwelfarepostersvr/node_modules/@tencent/xdc-logger/dist/middlewares/xdc.js:16:27
6 60.0% LazyCompile: ~dispatch /data1/mm64/qianyuli/xdc_project/welfare_question/app/mmpayxdcwelfarepostersvr/node_modules/koa-compose/index.js:35:23
4 40.0% LazyCompile: *dispatch /data1/mm64/qianyuli/xdc_project/welfare_question/app/mmpayxdcwelfarepostersvr/node_modules/koa-compose/index.js:35:23
10 1.0% LazyCompile: *initialize /data1/mm64/qianyuli/xdc_project/welfare_question/app/mmpayxdcwelfarepostersvr/node_modules/cheerio/lib/load.js:36:24
4 40.0% LazyCompile: ~fillDataToSvgXml /data1/mm64/qianyuli/xdc_project/welfare_question/app/mmpayxdcwelfarepostersvr/dist/libs/fill-data-to-svg-xml.js:75:26
4 100.0% LazyCompile: ~default_1 /data1/mm64/qianyuli/xdc_project/welfare_question/app/mmpayxdcwelfarepostersvr/dist/controller/api/poster.js:41:25
4 100.0% /data1/mm64/qianyuli/.nvm/versions/node/v12.18.0/bin/node
3 30.0% LazyCompile: ~rect /data1/mm64/qianyuli/xdc_project/welfare_question/app/mmpayxdcwelfarepostersvr/dist/libs/fill-data-to-svg-xml.js:24:11
3 100.0% LazyCompile: ~<anonymous> /data1/mm64/qianyuli/xdc_project/welfare_question/app/mmpayxdcwelfarepostersvr/dist/libs/fill-data-to-svg-xml.js:83:14
3 100.0% /data1/mm64/qianyuli/.nvm/versions/node/v12.18.0/bin/node
2 20.0% LazyCompile: ~image /data1/mm64/qianyuli/xdc_project/welfare_question/app/mmpayxdcwelfarepostersvr/dist/libs/fill-data-to-svg-xml.js:16:12
2 100.0% LazyCompile: ~<anonymous> /data1/mm64/qianyuli/xdc_project/welfare_question/app/mmpayxdcwelfarepostersvr/dist/libs/fill-data-to-svg-xml.js:83:14
2 100.0% /data1/mm64/qianyuli/.nvm/versions/node/v12.18.0/bin/node
1 10.0% LazyCompile: *setAlignByStyle /data1/mm64/qianyuli/xdc_project/welfare_question/app/mmpayxdcwelfarepostersvr/dist/libs/fill-data-to-svg-xml.js:40:25
1 100.0% /data1/mm64/qianyuli/.nvm/versions/node/v12.18.0/bin/node
1 100.0% /data1/mm64/qianyuli/.nvm/versions/node/v12.18.0/bin/node
10 1.0% LazyCompile: *_write /data1/mm64/qianyuli/xdc_project/welfare_question/app/mmpayxdcwelfarepostersvr/node_modules/winston-transport/index.js:69:51
9 90.0% LazyCompile: *ondata /data1/mm64/qianyuli/xdc_project/welfare_question/app/mmpayxdcwelfarepostersvr/node_modules/winston/node_modules/readable-stream/lib/_stream_readable.js:679:18
9 100.0% LazyCompile: *addChunk /data1/mm64/qianyuli/xdc_project/welfare_question/app/mmpayxdcwelfarepostersvr/node_modules/winston/node_modules/readable-stream/lib/_stream_readable.js:295:18
9 100.0% LazyCompile: *_transform /data1/mm64/qianyuli/xdc_project/welfare_question/app/mmpayxdcwelfarepostersvr/node_modules/winston/lib/winston/logger.js:267:13
1 10.0% LazyCompile: ~doWrite /data1/mm64/qianyuli/xdc_project/welfare_question/app/mmpayxdcwelfarepostersvr/node_modules/winston-transport/node_modules/readable-stream/lib/_stream_writable.js:404:17
1 100.0% LazyCompile: ~writeOrBuffer /data1/mm64/qianyuli/xdc_project/welfare_question/app/mmpayxdcwelfarepostersvr/node_modules/winston-transport/node_modules/readable-stream/lib/_stream_writable.js:363:23
1 100.0% LazyCompile: ~Writable.write /data1/mm64/qianyuli/xdc_project/welfare_question/app/mmpayxdcwelfarepostersvr/node_modules/winston-transport/node_modules/readable-stream/lib/_stream_writable.js:288:37
10 1.0% LazyCompile: *DerivedLogger.<computed> /data1/mm64/qianyuli/xdc_project/welfare_question/app/mmpayxdcwelfarepostersvr/node_modules/winston/lib/winston/create-logger.js:71:47
4 40.0% LazyCompile: ~<anonymous> /data1/mm64/qianyuli/xdc_project/welfare_question/app/mmpayxdcwelfarepostersvr/node_modules/@tencent/xdc-logger/dist/middlewares/xdc.js:16:27
2 50.0% LazyCompile: *dispatch /data1/mm64/qianyuli/xdc_project/welfare_question/app/mmpayxdcwelfarepostersvr/node_modules/koa-compose/index.js:35:23
2 100.0% LazyCompile: ~<anonymous> /data1/mm64/qianyuli/xdc_project/welfare_question/app/mmpayxdcwelfarepostersvr/node_modules/koa-body/index.js:121:19
1 25.0% LazyCompile: ~dispatch /data1/mm64/qianyuli/xdc_project/welfare_question/app/mmpayxdcwelfarepostersvr/node_modules/koa-compose/index.js:35:23
1 100.0% LazyCompile: ~<anonymous> /data1/mm64/qianyuli/xdc_project/welfare_question/app/mmpayxdcwelfarepostersvr/node_modules/koa-body/index.js:121:19
1 25.0% /data1/mm64/qianyuli/.nvm/versions/node/v12.18.0/bin/node
1 100.0% /data1/mm64/qianyuli/.nvm/versions/node/v12.18.0/bin/node
3 30.0% LazyCompile: ~default_1 /data1/mm64/qianyuli/xdc_project/welfare_question/app/mmpayxdcwelfarepostersvr/dist/controller/api/poster.js:41:25
3 100.0% /data1/mm64/qianyuli/.nvm/versions/node/v12.18.0/bin/node
3 100.0% /data1/mm64/qianyuli/.nvm/versions/node/v12.18.0/bin/node
2 20.0% LazyCompile: ~svgToImg /data1/mm64/qianyuli/xdc_project/welfare_question/app/mmpayxdcwelfarepostersvr/dist/libs/draw-canvas.js:8:18
2 100.0% LazyCompile: ~default_1 /data1/mm64/qianyuli/xdc_project/welfare_question/app/mmpayxdcwelfarepostersvr/dist/controller/api/poster.js:41:25
2 100.0% /data1/mm64/qianyuli/.nvm/versions/node/v12.18.0/bin/node
1 10.0% LazyCompile: ~imagesToBase64 /data1/mm64/qianyuli/xdc_project/welfare_question/app/mmpayxdcwelfarepostersvr/dist/libs/url-handler.js:50:24
1 100.0% LazyCompile: ~default_1 /data1/mm64/qianyuli/xdc_project/welfare_question/app/mmpayxdcwelfarepostersvr/dist/controller/api/poster.js:41:25
1 100.0% LazyCompile: *dispatch /data1/mm64/qianyuli/xdc_project/welfare_question/app/mmpayxdcwelfarepostersvr/node_modules/koa-compose/index.js:35:23
131 3.5% v8::internal::Builtin_JsonStringify(int, unsigned long*, v8::internal::Isolate*)
40 30.5% LazyCompile: ~respond /data1/mm64/qianyuli/xdc_project/welfare_question/app/mmpayxdcwelfarepostersvr/node_modules/koa/lib/application.js:229:17
40 100.0% LazyCompile: ~handleResponse /data1/mm64/qianyuli/xdc_project/welfare_question/app/mmpayxdcwelfarepostersvr/node_modules/koa/lib/application.js:166:28
37 92.5% /data1/mm64/qianyuli/.nvm/versions/node/v12.18.0/bin/node
37 100.0% LazyCompile: *processTicksAndRejections internal/process/task_queues.js:69:35
3 7.5% node::task_queue::RunMicrotasks(v8::FunctionCallbackInfo<v8::Value> const&)
3 100.0% LazyCompile: ~processTicksAndRejections internal/process/task_queues.js:69:35
39 29.8% LazyCompile: ~get length /data1/mm64/qianyuli/xdc_project/welfare_question/app/mmpayxdcwelfarepostersvr/node_modules/koa/lib/response.js:206:13
33 84.6% LazyCompile: ~<anonymous> /data1/mm64/qianyuli/xdc_project/welfare_question/app/mmpayxdcwelfarepostersvr/node_modules/@tencent/xdc-accesslog-middleware/dist/index.js:31:27
33 100.0% /data1/mm64/qianyuli/.nvm/versions/node/v12.18.0/bin/node
31 93.9% /data1/mm64/qianyuli/.nvm/versions/node/v12.18.0/bin/node
2 6.1% node::task_queue::RunMicrotasks(v8::FunctionCallbackInfo<v8::Value> const&)
6 15.4% /data1/mm64/qianyuli/.nvm/versions/node/v12.18.0/bin/node
6 100.0% LazyCompile: ~<anonymous> /data1/mm64/qianyuli/xdc_project/welfare_question/app/mmpayxdcwelfarepostersvr/node_modules/@tencent/xdc-accesslog-middleware/dist/index.js:31:27
6 100.0% /data1/mm64/qianyuli/.nvm/versions/node/v12.18.0/bin/node
31 23.7% LazyCompile: ~default_1 /data1/mm64/qianyuli/xdc_project/welfare_question/app/mmpayxdcwelfarepostersvr/dist/controller/api/poster.js:41:25
20 64.5% LazyCompile: ~dispatch /data1/mm64/qianyuli/xdc_project/welfare_question/app/mmpayxdcwelfarepostersvr/node_modules/koa-compose/index.js:35:23
20 100.0% LazyCompile: ~<anonymous> /data1/mm64/qianyuli/xdc_project/welfare_question/app/mmpayxdcwelfarepostersvr/dist/middleware/api.js:38:12
20 100.0% LazyCompile: ~dispatch /data1/mm64/qianyuli/xdc_project/welfare_question/app/mmpayxdcwelfarepostersvr/node_modules/koa-compose/index.js:35:23
9 29.0% LazyCompile: *dispatch /data1/mm64/qianyuli/xdc_project/welfare_question/app/mmpayxdcwelfarepostersvr/node_modules/koa-compose/index.js:35:23
9 100.0% LazyCompile: ~<anonymous> /data1/mm64/qianyuli/xdc_project/welfare_question/app/mmpayxdcwelfarepostersvr/dist/middleware/api.js:38:12
9 100.0% LazyCompile: *dispatch /data1/mm64/qianyuli/xdc_project/welfare_question/app/mmpayxdcwelfarepostersvr/node_modules/koa-compose/index.js:35:23
2 6.5% /data1/mm64/qianyuli/.nvm/versions/node/v12.18.0/bin/node
2 100.0% /data1/mm64/qianyuli/.nvm/versions/node/v12.18.0/bin/node
2 100.0% LazyCompile: *processTicksAndRejections internal/process/task_queues.js:69:35
11 8.4% LazyCompile: ~flush /data1/mm64/qianyuli/xdc_project/welfare_question/app/mmpayxdcwelfarepostersvr/node_modules/@tencent/xdc-cube-reporter/dist/index.js:122:10
11 100.0% LazyCompile: ~log /data1/mm64/qianyuli/xdc_project/welfare_question/app/mmpayxdcwelfarepostersvr/node_modules/@tencent/xdc-cube-reporter/dist/index.js:69:8
8 72.7% LazyCompile: ~default_1 /data1/mm64/qianyuli/xdc_project/welfare_question/app/mmpayxdcwelfarepostersvr/dist/controller/api/poster.js:41:25
7 87.5% /data1/mm64/qianyuli/.nvm/versions/node/v12.18.0/bin/node
1 12.5% LazyCompile: *dispatch /data1/mm64/qianyuli/xdc_project/welfare_question/app/mmpayxdcwelfarepostersvr/node_modules/koa-compose/index.js:35:23
3 27.3% LazyCompile: *default_1 /data1/mm64/qianyuli/xdc_project/welfare_question/app/mmpayxdcwelfarepostersvr/dist/controller/api/poster.js:41:25
2 66.7% LazyCompile: ~dispatch /data1/mm64/qianyuli/xdc_project/welfare_question/app/mmpayxdcwelfarepostersvr/node_modules/koa-compose/index.js:35:23
1 33.3% /data1/mm64/qianyuli/.nvm/versions/node/v12.18.0/bin/node
4 3.1% LazyCompile: *default_1 /data1/mm64/qianyuli/xdc_project/welfare_question/app/mmpayxdcwelfarepostersvr/dist/controller/api/poster.js:41:25
3 75.0% LazyCompile: ~dispatch /data1/mm64/qianyuli/xdc_project/welfare_question/app/mmpayxdcwelfarepostersvr/node_modules/koa-compose/index.js:35:23
3 100.0% LazyCompile: ~<anonymous> /data1/mm64/qianyuli/xdc_project/welfare_question/app/mmpayxdcwelfarepostersvr/dist/middleware/api.js:38:12
3 100.0% LazyCompile: ~dispatch /data1/mm64/qianyuli/xdc_project/welfare_question/app/mmpayxdcwelfarepostersvr/node_modules/koa-compose/index.js:35:23
1 25.0% /data1/mm64/qianyuli/.nvm/versions/node/v12.18.0/bin/node
1 100.0% /data1/mm64/qianyuli/.nvm/versions/node/v12.18.0/bin/node
1 100.0% LazyCompile: *processTicksAndRejections internal/process/task_queues.js:69:35
2 1.5% LazyCompile: ~flush /data1/mm64/qianyuli/xdc_project/welfare_question/app/mmpayxdcwelfarepostersvr/node_modules/@tencent/xdc-accesslog-middleware/node_modules/@tencent/xdc-cube-reporter/dist/index.js:100:10
2 100.0% LazyCompile: ~log /data1/mm64/qianyuli/xdc_project/welfare_question/app/mmpayxdcwelfarepostersvr/node_modules/@tencent/xdc-accesslog-middleware/node_modules/@tencent/xdc-cube-reporter/dist/index.js:66:8
2 100.0% LazyCompile: ~<anonymous> /data1/mm64/qianyuli/xdc_project/welfare_question/app/mmpayxdcwelfarepostersvr/node_modules/@tencent/xdc-accesslog-middleware/dist/index.js:31:27
2 100.0% /data1/mm64/qianyuli/.nvm/versions/node/v12.18.0/bin/node
38 1.0% v8::internal::Builtin_JsonParse(int, unsigned long*, v8::internal::Isolate*)
24 63.2% LazyCompile: ~parse /data1/mm64/qianyuli/xdc_project/welfare_question/app/mmpayxdcwelfarepostersvr/node_modules/co-body/lib/json.js:54:17
24 100.0% LazyCompile: ~<anonymous> /data1/mm64/qianyuli/xdc_project/welfare_question/app/mmpayxdcwelfarepostersvr/node_modules/co-body/lib/json.js:43:19
24 100.0% /data1/mm64/qianyuli/.nvm/versions/node/v12.18.0/bin/node
24 100.0% LazyCompile: *processTicksAndRejections internal/process/task_queues.js:69:35
11 28.9% LazyCompile: ~readPackage internal/modules/cjs/loader.js:245:21
11 100.0% LazyCompile: ~readPackageExports internal/modules/cjs/loader.js:302:28
11 100.0% LazyCompile: ~applyExports internal/modules/cjs/loader.js:441:22
7 63.6% LazyCompile: ~resolveExports internal/modules/cjs/loader.js:498:24
4 36.4% LazyCompile: *Module._findPath internal/modules/cjs/loader.js:607:28
3 7.9% LazyCompile: ~Module._extensions..json internal/modules/cjs/loader.js:1163:39
3 100.0% LazyCompile: ~Module.load internal/modules/cjs/loader.js:974:33
3 100.0% LazyCompile: ~Module._load internal/modules/cjs/loader.js:823:24
3 100.0% LazyCompile: ~Module.require internal/modules/cjs/loader.js:1018:36
and i dont know the meaning of this result
and i also use strace to analyze performance,i post one request
sudo strace -f -p 18774 -t -T -o ./strace.log
The content of this file is
18804 19:51:57 futex(0x2c95aa4, FUTEX_WAIT_PRIVATE, 498, NULL <unfinished ...>
18803 19:51:57 futex(0x2c95aa4, FUTEX_WAIT_PRIVATE, 498, NULL <unfinished ...>
18802 19:51:57 futex(0x2c95aa4, FUTEX_WAIT_PRIVATE, 498, NULL <unfinished ...>
18801 19:51:57 futex(0x2c95aa4, FUTEX_WAIT_PRIVATE, 498, NULL <unfinished ...>
18780 19:51:57 futex(0x4a17c9c, FUTEX_WAIT_PRIVATE, 1, NULL <unfinished ...>
18779 19:51:57 futex(0x496794c, FUTEX_WAIT_PRIVATE, 688, NULL <unfinished ...>
18778 19:51:57 futex(0x496794c, FUTEX_WAIT_PRIVATE, 688, NULL <unfinished ...>
18777 19:51:57 futex(0x496794c, FUTEX_WAIT_PRIVATE, 688, NULL <unfinished ...>
18776 19:51:57 futex(0x496794c, FUTEX_WAIT_PRIVATE, 688, NULL <unfinished ...>
18775 19:51:57 epoll_wait(9, <unfinished ...>
18774 19:51:57 epoll_wait(13, {{EPOLLIN, {u32=29, u64=29}}}, 1024, 14144) = 1 <4.023421>
18774 19:52:01 read(29, "POST /api/poster HTTP/1.1\r\nConte"..., 65536) = 1238 <0.000019>
18774 19:52:01 mprotect(0x233582e82000, 249856, PROT_READ|PROT_WRITE) = 0 <0.000023>
18774 19:52:01 mprotect(0x233582e82000, 249856, PROT_READ|PROT_EXEC) = 0 <0.000019>
18774 19:52:01 write(20, "233582eba740 47e RegExp::\\d{4}$|"..., 42) = 42 <0.000029>
18774 19:52:01 epoll_wait(13, {{EPOLLIN, {u32=29, u64=29}}}, 1024, 10252) = 1 <0.000027>
18774 19:52:01 read(29, "4MjCCSwNtKNrOGxPfdedwzPncDK4uttq"..., 65536) = 6921 <0.000020>
18774 19:52:01 write(27, "2022-04-04 19:52:01 INFO [/data1"..., 147) = 147 <0.000040>
18774 19:52:01 futex(0x2c95aa4, FUTEX_WAKE_OP_PRIVATE, 1, 1, 0x2c95aa0, {FUTEX_OP_SET, 0, FUTEX_OP_CMP_GT, 1} <unfinished ...>
18804 19:52:01 <... futex resumed> ) = 0 <4.026126>
18774 19:52:01 <... futex resumed> ) = 1 <0.000049>
18804 19:52:01 futex(0x2c95a60, FUTEX_WAIT_PRIVATE, 2, NULL <unfinished ...>
18774 19:52:01 futex(0x2c95a60, FUTEX_WAKE_PRIVATE, 1 <unfinished ...>
18804 19:52:01 <... futex resumed> ) = -1 EAGAIN (Resource temporarily unavailable) <0.000022>
18774 19:52:01 <... futex resumed> ) = 0 <0.000032>
18804 19:52:01 futex(0x2c95a60, FUTEX_WAKE_PRIVATE, 1) = 0 <0.000019>
18804 19:52:01 socket(PF_NETLINK, SOCK_RAW, 0) = 31 <0.000021>
18804 19:52:01 bind(31, {sa_family=AF_NETLINK, pid=0, groups=00000000}, 12) = 0 <0.000020>
18804 19:52:01 getsockname(31, {sa_family=AF_NETLINK, pid=18774, groups=00000000}, [12]) = 0 <0.000019>
18804 19:52:01 sendto(31, "\24\0\0\0\26\0\1\3\341\333Jb\0\0\0\0\0\0\0\0", 20, 0, {sa_family=AF_NETLINK, pid=0, groups=00000000}, 12) = 20 <0.000026>
18804 19:52:01 recvmsg(31, {msg_name(12)={sa_family=AF_NETLINK, pid=0, groups=00000000}, msg_iov(1)=[{"D\0\0\0\24\0\2\0\341\333JbVI\0\0\2\10\200\376\1\0\0\0\10\0\1\0\177\0\0\1"..., 4096}], msg_controllen=0, msg_flags=0}, 0) = 228 <0.000024>
18804 19:52:01 recvmsg(31, {msg_name(12)={sa_family=AF_NETLINK, pid=0, groups=00000000}, msg_iov(1)=[{"\24\0\0\0\3\0\2\0\341\333JbVI\0\0\0\0\0\0", 4096}], msg_controllen=0, msg_flags=0}, 0) = 20 <0.000019>
18804 19:52:01 close(31) = 0 <0.000022>
18774 19:52:01 write(27, "2022-04-04 19:52:01 INFO [/data1"..., 7900 <unfinished ...>
18804 19:52:01 socket(PF_LOCAL, SOCK_STREAM|SOCK_CLOEXEC|SOCK_NONBLOCK, 0) = 31 <0.000020>
18804 19:52:01 connect(31, {sa_family=AF_LOCAL, sun_path="/var/run/nscd/socket"}, 110 <unfinished ...>
18774 19:52:01 <... write resumed> ) = 7900 <0.000075>
18804 19:52:01 <... connect resumed> ) = 0 <0.000032>
18804 19:52:01 sendto(31, "\2\0\0\0\4\0\0\0\27\0\0\0api.cube.weixin.oa.c"..., 35, MSG_NOSIGNAL, NULL, 0) = 35 <0.000022>
18774 19:52:01 write(27, "2022-04-04 19:52:01 INFO [/data1"..., 170 <unfinished ...>
18804 19:52:01 poll([{fd=31, events=POLLIN|POLLERR|POLLHUP}], 1, 5000 <unfinished ...>
18774 19:52:01 <... write resumed> ) = 170 <0.000023>
18774 19:52:01 mprotect(0x233582e82000, 249856, PROT_READ|PROT_WRITE) = 0 <0.000020>
18774 19:52:01 mprotect(0x233582e82000, 249856, PROT_READ|PROT_EXEC) = 0 <0.000016>
18774 19:52:01 write(20, "233582ebac00 6c5 RegExp:.+\\.(jpg"..., 52) = 52 <0.000021>
18774 19:52:01 mprotect(0x233582e82000, 249856, PROT_READ|PROT_WRITE) = 0 <0.000024>
18774 19:52:01 mprotect(0x233582e82000, 249856, PROT_READ|PROT_EXEC) = 0 <0.000020>
18774 19:52:01 write(20, "233582ebb320 686 RegExp:.+\\.(jpg"..., 52) = 52 <0.000021>
18804 19:52:01 <... poll resumed> ) = 1 ([{fd=31, revents=POLLIN|POLLHUP}]) <0.006234>
18804 19:52:01 read(31, "\2\0\0\0\1\0\0\0\27\0\0\0\0\0\0\0\2\0\0\0\4\0\0\0\r\0\0\0\0\0\0\0", 32) = 32 <0.000021>
18804 19:52:01 readv(31, [{"api.cube.weixin.oa.com\0", 23}, {"dM\fPdA\37\20\v\261\326wda\6\320\tr\27\271\tr\f&dM\7\230\v\265r\374"..., 52}], 2) = 75 <0.000020>
18804 19:52:01 close(31) = 0 <0.000022>
18804 19:52:01 socket(PF_INET, SOCK_DGRAM, IPPROTO_IP) = 31 <0.000020>
18804 19:52:01 connect(31, {sa_family=AF_INET, sin_port=htons(0), sin_addr=inet_addr("100.77.12.80")}, 16) = 0 <0.000031>
18804 19:52:01 getsockname(31, {sa_family=AF_INET, sin_port=htons(54102), sin_addr=inet_addr("9.134.186.224")}, [16]) = 0 <0.000022>
18804 19:52:01 connect(31, {sa_family=AF_UNSPEC, sa_data="\0\0\0\0\0\0\0\0\0\0\0\0\0\0"}, 16) = 0 <0.000013>
18804 19:52:01 connect(31, {sa_family=AF_INET, sin_port=htons(0), sin_addr=inet_addr("100.65.31.16")}, 16) = 0 <0.000023>
18804 19:52:01 getsockname(31, {sa_family=AF_INET, sin_port=htons(40372), sin_addr=inet_addr("9.134.186.224")}, [16]) = 0 <0.000018>
18804 19:52:01 connect(31, {sa_family=AF_UNSPEC, sa_data="\0\0\0\0\0\0\0\0\0\0\0\0\0\0"}, 16) = 0 <0.000021>
18804 19:52:01 connect(31, {sa_family=AF_INET, sin_port=htons(0), sin_addr=inet_addr("11.177.214.119")}, 16) = 0 <0.000021>
18804 19:52:01 getsockname(31, {sa_family=AF_INET, sin_port=htons(44506), sin_addr=inet_addr("9.134.186.224")}, [16]) = 0 <0.000018>
18804 19:52:01 connect(31, {sa_family=AF_UNSPEC, sa_data="\0\0\0\0\0\0\0\0\0\0\0\0\0\0"}, 16) = 0 <0.000018>
18804 19:52:01 connect(31, {sa_family=AF_INET, sin_port=htons(0), sin_addr=inet_addr("100.97.6.208")}, 16) = 0 <0.000019>
18804 19:52:01 getsockname(31, {sa_family=AF_INET, sin_port=htons(45992), sin_addr=inet_addr("9.134.186.224")}, [16]) = 0 <0.000016>
18804 19:52:01 connect(31, {sa_family=AF_UNSPEC, sa_data="\0\0\0\0\0\0\0\0\0\0\0\0\0\0"}, 16) = 0 <0.000018>
18804 19:52:01 connect(31, {sa_family=AF_INET, sin_port=htons(0), sin_addr=inet_addr("9.114.23.185")}, 16) = 0 <0.000020>
18804 19:52:01 getsockname(31, {sa_family=AF_INET, sin_port=htons(57867), sin_addr=inet_addr("9.134.186.224")}, [16]) = 0 <0.000017>
18804 19:52:01 connect(31, {sa_family=AF_UNSPEC, sa_data="\0\0\0\0\0\0\0\0\0\0\0\0\0\0"}, 16) = 0 <0.000018>
18804 19:52:01 connect(31, {sa_family=AF_INET, sin_port=htons(0), sin_addr=inet_addr("9.114.12.38")}, 16) = 0 <0.000019>
18804 19:52:01 getsockname(31, {sa_family=AF_INET, sin_port=htons(42866), sin_addr=inet_addr("9.134.186.224")}, [16]) = 0 <0.000018>
18804 19:52:01 connect(31, {sa_family=AF_UNSPEC, sa_data="\0\0\0\0\0\0\0\0\0\0\0\0\0\0"}, 16) = 0 <0.000018>
18804 19:52:01 connect(31, {sa_family=AF_INET, sin_port=htons(0), sin_addr=inet_addr("100.77.7.152")}, 16) = 0 <0.000019>
18804 19:52:01 getsockname(31, {sa_family=AF_INET, sin_port=htons(54148), sin_addr=inet_addr("9.134.186.224")}, [16]) = 0 <0.000018>
18804 19:52:01 connect(31, {sa_family=AF_UNSPEC, sa_data="\0\0\0\0\0\0\0\0\0\0\0\0\0\0"}, 16) = 0 <0.000019>
18804 19:52:01 connect(31, {sa_family=AF_INET, sin_port=htons(0), sin_addr=inet_addr("11.181.114.252")}, 16) = 0 <0.000019>
18804 19:52:01 getsockname(31, {sa_family=AF_INET, sin_port=htons(46292), sin_addr=inet_addr("9.134.186.224")}, [16]) = 0 <0.000018>
18804 19:52:01 connect(31, {sa_family=AF_UNSPEC, sa_data="\0\0\0\0\0\0\0\0\0\0\0\0\0\0"}, 16) = 0 <0.000018>
18804 19:52:01 connect(31, {sa_family=AF_INET, sin_port=htons(0), sin_addr=inet_addr("9.114.12.30")}, 16) = 0 <0.000019>
18804 19:52:01 getsockname(31, {sa_family=AF_INET, sin_port=htons(50679), sin_addr=inet_addr("9.134.186.224")}, [16]) = 0 <0.000018>
18804 19:52:01 connect(31, {sa_family=AF_UNSPEC, sa_data="\0\0\0\0\0\0\0\0\0\0\0\0\0\0"}, 16) = 0 <0.000018>
18804 19:52:01 connect(31, {sa_family=AF_INET, sin_port=htons(0), sin_addr=inet_addr("11.181.115.195")}, 16) = 0 <0.000019>
18804 19:52:01 getsockname(31, {sa_family=AF_INET, sin_port=htons(54333), sin_addr=inet_addr("9.134.186.224")}, [16]) = 0 <0.000017>
18804 19:52:01 connect(31, {sa_family=AF_UNSPEC, sa_data="\0\0\0\0\0\0\0\0\0\0\0\0\0\0"}, 16) = 0 <0.000018>
18804 19:52:01 connect(31, {sa_family=AF_INET, sin_port=htons(0), sin_addr=inet_addr("9.114.23.188")}, 16) = 0 <0.000021>
18804 19:52:01 getsockname(31, {sa_family=AF_INET, sin_port=htons(39198), sin_addr=inet_addr("9.134.186.224")}, [16]) = 0 <0.000017>
18804 19:52:01 connect(31, {sa_family=AF_UNSPEC, sa_data="\0\0\0\0\0\0\0\0\0\0\0\0\0\0"}, 16) = 0 <0.000018>
18804 19:52:01 connect(31, {sa_family=AF_INET, sin_port=htons(0), sin_addr=inet_addr("11.181.115.189")}, 16) = 0 <0.000019>
18804 19:52:01 getsockname(31, {sa_family=AF_INET, sin_port=htons(39528), sin_addr=inet_addr("9.134.186.224")}, [16]) = 0 <0.000018>
18804 19:52:01 connect(31, {sa_family=AF_UNSPEC, sa_data="\0\0\0\0\0\0\0\0\0\0\0\0\0\0"}, 16) = 0 <0.000018>
18804 19:52:01 connect(31, {sa_family=AF_INET, sin_port=htons(0), sin_addr=inet_addr("9.114.23.177")}, 16) = 0 <0.000017>
18804 19:52:01 getsockname(31, {sa_family=AF_INET, sin_port=htons(37501), sin_addr=inet_addr("9.134.186.224")}, [16]) = 0 <0.000017>
18804 19:52:01 close(31) = 0 <0.000017>
18804 19:52:01 write(16, "\1\0\0\0\0\0\0\0", 8) = 8 <0.000017>
18804 19:52:01 futex(0x2c95aa4, FUTEX_WAIT_PRIVATE, 500, NULL <unfinished ...>
18774 19:52:01 write(27, "2022-04-04 19:52:01 DEBUG [/data"..., 250) = 250 <0.000046>
18774 19:52:01 write(27, "2022-04-04 19:52:01 INFO [/data1"..., 169) = 169 <0.000037>
18774 19:52:01 write(27, "2022-04-04 19:52:01 INFO [/data1"..., 173) = 173 <0.000035>
18774 19:52:01 write(27, "2022-04-04 19:52:01 INFO [/data1"..., 237) = 237 <0.000036>
18774 19:52:01 futex(0x496794c, FUTEX_WAKE_OP_PRIVATE, 1, 1, 0x4967948, {FUTEX_OP_SET, 0, FUTEX_OP_CMP_GT, 1} <unfinished ...>
18779 19:52:01 <... futex resumed> ) = 0 <4.083198>
18774 19:52:01 <... futex resumed> ) = 1 <0.000041>
18779 19:52:01 futex(0x4967920, FUTEX_WAIT_PRIVATE, 2, NULL <unfinished ...>
18774 19:52:01 futex(0x4967920, FUTEX_WAKE_PRIVATE, 1 <unfinished ...>
18779 19:52:01 <... futex resumed> ) = -1 EAGAIN (Resource temporarily unavailable) <0.000014>
18774 19:52:01 <... futex resumed> ) = 0 <0.000019>
18779 19:52:01 futex(0x4967920, FUTEX_WAKE_PRIVATE, 1) = 0 <0.000019>
18774 19:52:01 write(27, "2022-04-04 19:52:01 INFO [/data1"..., 175) = 175 <0.000033>
18774 19:52:01 write(27, "2022-04-04 19:52:01 INFO [/data1"..., 156) = 156 <0.000033>
18774 19:52:01 mmap(0x26f241780000, 446464, PROT_NONE, MAP_PRIVATE|MAP_ANONYMOUS|MAP_NORESERVE, -1, 0) = 0x26f241780000 <0.000031>
18774 19:52:01 munmap(0x26f2417ae000, 258048) = 0 <0.000025>
18774 19:52:01 mprotect(0x26f241780000, 188416, PROT_READ|PROT_WRITE) = 0 <0.000020>
18774 19:52:01 open("/usr/lib/x86_64-linux-gnu/gdk-pixbuf-2.0/2.10.0/loaders.cache", O_RDONLY) = -1 ENOENT (No such file or directory) <0.000021>
18774 19:52:01 ioctl(2, SNDCTL_TMR_TIMEBASE or SNDRV_TIMER_IOCTL_NEXT_DEVICE or TCGETS, {B38400 opost isig icanon echo ...}) = 0 <0.000017>
18774 19:52:01 write(2, "\n(process:18774): GdkPixbuf-\33[1;"..., 394) = 394 <0.000064>
18774 19:52:01 stat("/home/qianyuli/.local/share//mime/mime.cache", <unfinished ...>
18779 19:52:01 mprotect(0x7fcb080c6000, 16384, PROT_READ|PROT_WRITE <unfinished ...>
18774 19:52:01 <... stat resumed> 0x7ffcb2c38950) = -1 ENOENT (No such file or directory) <0.000026>
18779 19:52:01 <... mprotect resumed> ) = 0 <0.000027>
18774 19:52:01 stat("/home/qianyuli/.local/share//mime/globs", 0x7ffcb2c38950) = -1 ENOENT (No such file or directory) <0.000023>
18774 19:52:01 stat("/home/qianyuli/.local/share//mime/magic", 0x7ffcb2c38950) = -1 ENOENT (No such file or directory) <0.000018>
18774 19:52:01 stat("/usr/local/share//mime/mime.cache", <unfinished ...>
18779 19:52:01 mprotect(0x7fcb080ca000, 32768, PROT_READ|PROT_WRITE <unfinished ...>
18774 19:52:01 <... stat resumed> 0x7ffcb2c38950) = -1 ENOENT (No such file or directory) <0.000030>
18779 19:52:01 <... mprotect resumed> ) = 0 <0.000028>
18774 19:52:01 stat("/usr/local/share//mime/globs", 0x7ffcb2c38950) = -1 ENOENT (No such file or directory) <0.000016>
18779 19:52:01 mprotect(0x7fcb080d2000, 32768, PROT_READ|PROT_WRITE <unfinished ...>
18774 19:52:01 stat("/usr/local/share//mime/magic", <unfinished ...>
18779 19:52:01 <... mprotect resumed> ) = 0 <0.000032>
18774 19:52:01 <... stat resumed> 0x7ffcb2c38950) = -1 ENOENT (No such file or directory) <0.000015>
18774 19:52:01 stat("/usr/share//mime/mime.cache", <unfinished ...>
18779 19:52:01 mprotect(0x7fcb080da000, 32768, PROT_READ|PROT_WRITE <unfinished ...>
18774 19:52:01 <... stat resumed> {st_mode=S_IFREG|0644, st_size=111860, ...}) = 0 <0.000032>
18779 19:52:01 <... mprotect resumed> ) = 0 <0.000028>
18774 19:52:01 open("/usr/lib/x86_64-linux-gnu/gdk-pixbuf-2.0/2.10.0/loaders.cache", O_RDONLY) = -1 ENOENT (No such file or directory) <0.000018>
18774 19:52:01 ioctl(2, SNDCTL_TMR_TIMEBASE or SNDRV_TIMER_IOCTL_NEXT_DEVICE or TCGETS, {B38400 opost isig icanon echo ...}) = 0 <0.000016>
18774 19:52:01 write(2, "\n(process:18774): GdkPixbuf-\33[1;"..., 394) = 394 <0.000061>
18774 19:52:01 open("/usr/lib/x86_64-linux-gnu/gdk-pixbuf-2.0/2.10.0/loaders.cache", O_RDONLY) = -1 ENOENT (No such file or directory) <0.000023>
18774 19:52:01 ioctl(2, SNDCTL_TMR_TIMEBASE or SNDRV_TIMER_IOCTL_NEXT_DEVICE or TCGETS, {B38400 opost isig icanon echo ...}) = 0 <0.000026>
18774 19:52:01 write(2, "\n(process:18774): GdkPixbuf-\33[1;"..., 394) = 394 <0.000061>
18774 19:52:01 open("/usr/lib/x86_64-linux-gnu/gdk-pixbuf-2.0/2.10.0/loaders.cache", O_RDONLY) = -1 ENOENT (No such file or directory) <0.000020>
18774 19:52:01 ioctl(2, SNDCTL_TMR_TIMEBASE or SNDRV_TIMER_IOCTL_NEXT_DEVICE or TCGETS, {B38400 opost isig icanon echo ...}) = 0 <0.000017>
18774 19:52:01 write(2, "\n(process:18774): GdkPixbuf-\33[1;"..., 394) = 394 <0.000050>
18774 19:52:01 open("/usr/lib/x86_64-linux-gnu/gdk-pixbuf-2.0/2.10.0/loaders.cache", O_RDONLY) = -1 ENOENT (No such file or directory) <0.000021>
18774 19:52:01 ioctl(2, SNDCTL_TMR_TIMEBASE or SNDRV_TIMER_IOCTL_NEXT_DEVICE or TCGETS, {B38400 opost isig icanon echo ...}) = 0 <0.000020>
18779 19:52:01 futex(0x496794c, FUTEX_WAIT_PRIVATE, 690, NULL <unfinished ...>
18774 19:52:01 write(2, "\n(process:18774): GdkPixbuf-\33[1;"..., 394) = 394 <0.000048>
18774 19:52:01 open("/usr/lib/x86_64-linux-gnu/gdk-pixbuf-2.0/2.10.0/loaders.cache", O_RDONLY) = -1 ENOENT (No such file or directory) <0.000021>
18774 19:52:01 ioctl(2, SNDCTL_TMR_TIMEBASE or SNDRV_TIMER_IOCTL_NEXT_DEVICE or TCGETS, {B38400 opost isig icanon echo ...}) = 0 <0.000019>
18774 19:52:01 write(2, "\n(process:18774): GdkPixbuf-\33[1;"..., 394) = 394 <0.000043>
18774 19:52:01 open("/usr/lib/x86_64-linux-gnu/gdk-pixbuf-2.0/2.10.0/loaders.cache", O_RDONLY) = -1 ENOENT (No such file or directory) <0.000020>
18774 19:52:01 ioctl(2, SNDCTL_TMR_TIMEBASE or SNDRV_TIMER_IOCTL_NEXT_DEVICE or TCGETS, {B38400 opost isig icanon echo ...}) = 0 <0.000016>
18774 19:52:01 write(2, "\n(process:18774): GdkPixbuf-\33[1;"..., 394) = 394 <0.000044>
18774 19:52:01 open("/usr/lib/x86_64-linux-gnu/gdk-pixbuf-2.0/2.10.0/loaders.cache", O_RDONLY) = -1 ENOENT (No such file or directory) <0.000017>
18774 19:52:01 ioctl(2, SNDCTL_TMR_TIMEBASE or SNDRV_TIMER_IOCTL_NEXT_DEVICE or TCGETS, {B38400 opost isig icanon echo ...}) = 0 <0.000016>
18774 19:52:01 write(2, "\n(process:18774): GdkPixbuf-\33[1;"..., 394) = 394 <0.000044>
18774 19:52:01 open("/usr/lib/x86_64-linux-gnu/gdk-pixbuf-2.0/2.10.0/loaders.cache", O_RDONLY) = -1 ENOENT (No such file or directory) <0.000019>
18774 19:52:01 ioctl(2, SNDCTL_TMR_TIMEBASE or SNDRV_TIMER_IOCTL_NEXT_DEVICE or TCGETS, {B38400 opost isig icanon echo ...}) = 0 <0.000015>
18774 19:52:01 write(2, "\n(process:18774): GdkPixbuf-\33[1;"..., 394) = 394 <0.000045>
18774 19:52:01 open("/usr/lib/x86_64-linux-gnu/gdk-pixbuf-2.0/2.10.0/loaders.cache", O_RDONLY) = -1 ENOENT (No such file or directory) <0.000019>
18774 19:52:01 ioctl(2, SNDCTL_TMR_TIMEBASE or SNDRV_TIMER_IOCTL_NEXT_DEVICE or TCGETS, {B38400 opost isig icanon echo ...}) = 0 <0.000016>
18774 19:52:01 write(2, "\n(process:18774): GdkPixbuf-\33[1;"..., 394) = 394 <0.000048>
18774 19:52:01 open("/usr/lib/x86_64-linux-gnu/gdk-pixbuf-2.0/2.10.0/loaders.cache", O_RDONLY) = -1 ENOENT (No such file or directory) <0.000020>
18774 19:52:01 ioctl(2, SNDCTL_TMR_TIMEBASE or SNDRV_TIMER_IOCTL_NEXT_DEVICE or TCGETS, {B38400 opost isig icanon echo ...}) = 0 <0.000022>
18774 19:52:01 write(2, "\n(process:18774): GdkPixbuf-\33[1;"..., 394) = 394 <0.000056>
18774 19:52:01 open("/usr/lib/x86_64-linux-gnu/gdk-pixbuf-2.0/2.10.0/loaders.cache", O_RDONLY) = -1 ENOENT (No such file or directory) <0.000021>
18774 19:52:01 ioctl(2, SNDCTL_TMR_TIMEBASE or SNDRV_TIMER_IOCTL_NEXT_DEVICE or TCGETS, {B38400 opost isig icanon echo ...}) = 0 <0.000017>
18774 19:52:01 write(2, "\n(process:18774): GdkPixbuf-\33[1;"..., 394) = 394 <0.000049>
18774 19:52:01 open("/usr/lib/x86_64-linux-gnu/gdk-pixbuf-2.0/2.10.0/loaders.cache", O_RDONLY) = -1 ENOENT (No such file or directory) <0.000019>
18774 19:52:01 ioctl(2, SNDCTL_TMR_TIMEBASE or SNDRV_TIMER_IOCTL_NEXT_DEVICE or TCGETS, {B38400 opost isig icanon echo ...}) = 0 <0.000027>
18774 19:52:01 write(2, "\n(process:18774): GdkPixbuf-\33[1;"..., 394) = 394 <0.000048>
18774 19:52:01 open("/usr/lib/x86_64-linux-gnu/gdk-pixbuf-2.0/2.10.0/loaders.cache", O_RDONLY) = -1 ENOENT (No such file or directory) <0.000020>
18774 19:52:01 ioctl(2, SNDCTL_TMR_TIMEBASE or SNDRV_TIMER_IOCTL_NEXT_DEVICE or TCGETS, {B38400 opost isig icanon echo ...}) = 0 <0.000020>
18774 19:52:01 write(2, "\n(process:18774): GdkPixbuf-\33[1;"..., 394) = 394 <0.000055>
18774 19:52:01 open("/usr/lib/x86_64-linux-gnu/gdk-pixbuf-2.0/2.10.0/loaders.cache", O_RDONLY) = -1 ENOENT (No such file or directory) <0.000021>
18774 19:52:01 ioctl(2, SNDCTL_TMR_TIMEBASE or SNDRV_TIMER_IOCTL_NEXT_DEVICE or TCGETS, {B38400 opost isig icanon echo ...}) = 0 <0.000020>
18774 19:52:01 write(2, "\n(process:18774): GdkPixbuf-\33[1;"..., 394) = 394 <0.000049>
18774 19:52:01 brk(0) = 0x51b2000 <0.000018>
18774 19:52:01 brk(0x542f000) = 0x542f000 <0.000020>
18774 19:52:01 mprotect(0x233582e82000, 249856, PROT_READ|PROT_WRITE) = 0 <0.000022>
18774 19:52:01 mprotect(0x233582e82000, 249856, PROT_READ|PROT_EXEC) = 0 <0.000019>
18774 19:52:01 write(20, "233582ea9b80 1440 LazyCompile:*f"..., 156) = 156 <0.000027>
18774 19:52:01 write(27, "2022-04-04 19:52:01 INFO [/data1"..., 160) = 160 <0.000031>
18774 19:52:01 write(27, "2022-04-04 19:52:01 INFO [/data1"..., 163) = 163 <0.000031>
18774 19:52:01 write(27, "2022-04-04 19:52:01 INFO [/data1"..., 160) = 160 <0.000032>
18774 19:52:01 write(27, "2022-04-04 19:52:01 INFO [/data1"..., 160) = 160 <0.000038>
18774 19:52:01 write(27, "2022-04-04 19:52:01 INFO [/data1"..., 169) = 169 <0.000034>
18774 19:52:01 mprotect(0x30e2b27c0000, 262144, PROT_READ|PROT_WRITE) = 0 <0.000025>
18774 19:52:01 mprotect(0x19dd41940000, 262144, PROT_READ|PROT_WRITE) = 0 <0.000024>
18774 19:52:01 mprotect(0xc444b580000, 262144, PROT_READ|PROT_WRITE) = 0 <0.000024>
18774 19:52:01 mprotect(0x392916480000, 262144, PROT_READ|PROT_WRITE) = 0 <0.000021>
18774 19:52:01 futex(0x496794c, FUTEX_WAKE_OP_PRIVATE, 1, 1, 0x4967948, {FUTEX_OP_SET, 0, FUTEX_OP_CMP_GT, 1} <unfinished ...>
18778 19:52:01 <... futex resumed> ) = 0 <4.129634>
18774 19:52:01 <... futex resumed> ) = 1 <0.000039>
18778 19:52:01 futex(0x4967920, FUTEX_WAIT_PRIVATE, 2, NULL <unfinished ...>
18774 19:52:01 futex(0x4967920, FUTEX_WAKE_PRIVATE, 1 <unfinished ...>
18778 19:52:01 <... futex resumed> ) = -1 EAGAIN (Resource temporarily unavailable) <0.000016>
18774 19:52:01 <... futex resumed> ) = 0 <0.000022>
18778 19:52:01 futex(0x4967920, FUTEX_WAKE_PRIVATE, 1) = 0 <0.000019>
18774 19:52:01 mmap(0x277763bc0000, 520192, PROT_NONE, MAP_PRIVATE|MAP_ANONYMOUS|MAP_NORESERVE, -1, 0) = 0x277763bc0000 <0.000025>
18778 19:52:01 futex(0x7ffcb2c388f4, FUTEX_WAIT_BITSET_PRIVATE, 1, {7106173, 674456000}, ffffffff <unfinished ...>
18774 19:52:01 munmap(0x277763c00000, 258048) = 0 <0.000022>
18774 19:52:01 mprotect(0x277763bc0000, 262144, PROT_READ|PROT_WRITE) = 0 <0.000018>
18774 19:52:01 futex(0x7ffcb2c388f4, FUTEX_CMP_REQUEUE_PRIVATE, 1, 2147483647, 0x7ffcb2c38920, 2) = 1 <0.000024>
18778 19:52:01 <... futex resumed> ) = 0 <0.000319>
18774 19:52:01 futex(0x49dcd10, FUTEX_WAIT_PRIVATE, 0, NULL <unfinished ...>
18778 19:52:01 futex(0x7ffcb2c38920, FUTEX_WAKE_PRIVATE, 1) = 0 <0.000016>
18778 19:52:01 futex(0x49dcd10, FUTEX_WAKE_PRIVATE, 1) = 1 <0.000019>
18774 19:52:01 <... futex resumed> ) = 0 <0.000084>
18778 19:52:01 futex(0x496794c, FUTEX_WAIT_PRIVATE, 692, NULL <unfinished ...>
18774 19:52:01 futex(0x496794c, FUTEX_WAKE_OP_PRIVATE, 1, 1, 0x4967948, {FUTEX_OP_SET, 0, FUTEX_OP_CMP_GT, 1} <unfinished ...>
18777 19:52:01 <... futex resumed> ) = 0 <4.130357>
18774 19:52:01 <... futex resumed> ) = 1 <0.000049>
18777 19:52:01 futex(0x4967920, FUTEX_WAIT_PRIVATE, 2, NULL <unfinished ...>
18774 19:52:01 futex(0x4967920, FUTEX_WAKE_PRIVATE, 1 <unfinished ...>
18777 19:52:01 <... futex resumed> ) = -1 EAGAIN (Resource temporarily unavailable) <0.000021>
18774 19:52:01 <... futex resumed> ) = 0 <0.000016>
18777 19:52:01 futex(0x4967920, FUTEX_WAKE_PRIVATE, 1) = 0 <0.000018>
18777 19:52:01 futex(0x7fcb182ee760, FUTEX_WAIT_PRIVATE, 2, NULL <unfinished ...>
18774 19:52:01 futex(0x7fcb182ee760, FUTEX_WAKE_PRIVATE, 1 <unfinished ...>
18777 19:52:01 <... futex resumed> ) = -1 EAGAIN (Resource temporarily unavailable) <0.000012>
18774 19:52:01 <... futex resumed> ) = 0 <0.000022>
18777 19:52:01 futex(0x7fcb182ee760, FUTEX_WAKE_PRIVATE, 1 <unfinished ...>
18774 19:52:01 futex(0x496794c, FUTEX_WAKE_OP_PRIVATE, 1, 1, 0x4967948, {FUTEX_OP_SET, 0, FUTEX_OP_CMP_GT, 1} <unfinished ...>
18777 19:52:01 <... futex resumed> ) = 0 <0.000023>
18774 19:52:01 <... futex resumed> ) = 1 <0.000018>
18777 19:52:01 futex(0x4967920, FUTEX_WAIT_PRIVATE, 2, NULL <unfinished ...>
18776 19:52:01 <... futex resumed> ) = 0 <4.130608>
18777 19:52:01 <... futex resumed> ) = -1 EAGAIN (Resource temporarily unavailable) <0.000017>
18774 19:52:01 futex(0x4967920, FUTEX_WAKE_PRIVATE, 1 <unfinished ...>
18777 19:52:01 futex(0x4967920, FUTEX_WAKE_PRIVATE, 1 <unfinished ...>
18776 19:52:01 futex(0x4967920, FUTEX_WAKE_PRIVATE, 1 <unfinished ...>
18777 19:52:01 <... futex resumed> ) = 0 <0.000017>
18774 19:52:01 <... futex resumed> ) = 0 <0.000045>
18777 19:52:01 futex(0x496794c, FUTEX_WAIT_PRIVATE, 695, NULL <unfinished ...>
18776 19:52:01 <... futex resumed> ) = 0 <0.000044>
18776 19:52:01 mprotect(0x20068b000000, 262144, PROT_NONE) = 0 <0.000028>
18776 19:52:01 madvise(0x20068b000000, 262144, MADV_DONTNEED) = 0 <0.000051>
18774 19:52:01 futex(0x2c95aa4, FUTEX_WAKE_OP_PRIVATE, 1, 1, 0x2c95aa0, {FUTEX_OP_SET, 0, FUTEX_OP_CMP_GT, 1} <unfinished ...>
18776 19:52:01 mprotect(0x3a54177c0000, 262144, PROT_NONE <unfinished ...>
18803 19:52:01 <... futex resumed> ) = 0 <4.130968>
18774 19:52:01 <... futex resumed> ) = 1 <0.000040>
18803 19:52:01 futex(0x2c95a60, FUTEX_WAIT_PRIVATE, 2, NULL <unfinished ...>
18776 19:52:01 <... mprotect resumed> ) = 0 <0.000054>
18803 19:52:01 <... futex resumed> ) = -1 EAGAIN (Resource temporarily unavailable) <0.000017>
18774 19:52:01 futex(0x2c95a60, FUTEX_WAKE_PRIVATE, 1 <unfinished ...>
18803 19:52:01 futex(0x2c95a60, FUTEX_WAKE_PRIVATE, 1 <unfinished ...>
18776 19:52:01 madvise(0x3a54177c0000, 262144, MADV_DONTNEED <unfinished ...>
18803 19:52:01 <... futex resumed> ) = 0 <0.000016>
18774 19:52:01 <... futex resumed> ) = 0 <0.000043>
18803 19:52:01 socket(PF_NETLINK, SOCK_RAW, 0 <unfinished ...>
18776 19:52:01 <... madvise resumed> ) = 0 <0.000055>
18803 19:52:01 <... socket resumed> ) = 31 <0.000015>
18776 19:52:01 mprotect(0xcb0dbb40000, 262144, PROT_NONE <unfinished ...>
18803 19:52:01 bind(31, {sa_family=AF_NETLINK, pid=0, groups=00000000}, 12 <unfinished ...>
18776 19:52:01 <... mprotect resumed> ) = 0 <0.000038>
18803 19:52:01 <... bind resumed> ) = 0 <0.000015>
18776 19:52:01 madvise(0xcb0dbb40000, 262144, MADV_DONTNEED <unfinished ...>
18803 19:52:01 getsockname(31, {sa_family=AF_NETLINK, pid=18774, groups=00000000}, [12]) = 0 <0.000018>
18776 19:52:01 <... madvise resumed> ) = 0 <0.000042>
18803 19:52:01 sendto(31, "\24\0\0\0\26\0\1\3\341\333Jb\0\0\0\0\0\0\0\0", 20, 0, {sa_family=AF_NETLINK, pid=0, groups=00000000}, 12 <unfinished ...>
18776 19:52:01 mprotect(0x19e3d1980000, 262144, PROT_NONE <unfinished ...>
18803 19:52:01 <... sendto resumed> ) = 20 <0.000026>
18776 19:52:01 <... mprotect resumed> ) = 0 <0.000030>
18774 19:52:01 write(27, "2022-04-04 19:52:01 INFO [/data1"..., 294 <unfinished ...>
18803 19:52:01 recvmsg(31, <unfinished ...>
18776 19:52:01 madvise(0x19e3d1980000, 262144, MADV_DONTNEED <unfinished ...>
18803 19:52:01 <... recvmsg resumed> {msg_name(12)={sa_family=AF_NETLINK, pid=0, groups=00000000}, msg_iov(1)=[{"D\0\0\0\24\0\2\0\341\333JbVI\0\0\2\10\200\376\1\0\0\0\10\0\1\0\177\0\0\1"..., 4096}], msg_controllen=0, msg_flags=0}, 0) = 228 <0.000024>
18774 19:52:01 <... write resumed> ) = 294 <0.000050>
18803 19:52:01 recvmsg(31, <unfinished ...>
18776 19:52:01 <... madvise resumed> ) = 0 <0.000052>
18803 19:52:01 <... recvmsg resumed> {msg_name(12)={sa_family=AF_NETLINK, pid=0, groups=00000000}, msg_iov(1)=[{"\24\0\0\0\3\0\2\0\341\333JbVI\0\0\0\0\0\0", 4096}], msg_controllen=0, msg_flags=0}, 0) = 20 <0.000024>
18776 19:52:01 futex(0x496794c, FUTEX_WAIT_PRIVATE, 696, NULL <unfinished ...>
18803 19:52:01 close(31) = 0 <0.000021>
18803 19:52:01 socket(PF_LOCAL, SOCK_STREAM|SOCK_CLOEXEC|SOCK_NONBLOCK, 0) = 31 <0.000024>
18803 19:52:01 connect(31, {sa_family=AF_LOCAL, sun_path="/var/run/nscd/socket"}, 110 <unfinished ...>
18774 19:52:01 write(27, "2022-04-04 19:52:01 INFO [/data1"..., 145 <unfinished ...>
18803 19:52:01 <... connect resumed> ) = 0 <0.000042>
18774 19:52:01 <... write resumed> ) = 145 <0.000046>
18803 19:52:01 sendto(31, "\2\0\0\0\4\0\0\0\27\0\0\0api.cube.weixin.oa.c"..., 35, MSG_NOSIGNAL, NULL, 0) = 35 <0.000027>
18803 19:52:01 poll([{fd=31, events=POLLIN|POLLERR|POLLHUP}], 1, 5000 <unfinished ...>
18774 19:52:01 writev(29, [{"HTTP/1.1 200 OK\r\nX-DNS-Prefetch-"..., 13854}, {"", 0}], 2) = 13854 <0.000058>
18774 19:52:01 epoll_ctl(13, EPOLL_CTL_MOD, 29, {EPOLLIN, {u32=29, u64=29}}) = 0 <0.000024>
18774 19:52:01 epoll_wait(13, {{EPOLLIN, {u32=16, u64=16}}}, 1024, 369) = 1 <0.000020>
18774 19:52:01 read(16, "\1\0\0\0\0\0\0\0", 1024) = 8 <0.000020>
18774 19:52:01 socket(PF_INET, SOCK_STREAM|SOCK_CLOEXEC|SOCK_NONBLOCK, IPPROTO_IP) = 32 <0.000024>
18774 19:52:01 connect(32, {sa_family=AF_INET, sin_port=htons(80), sin_addr=inet_addr("100.77.12.80")}, 16) = -1 EINPROGRESS (Operation now in progress) <0.000038>
18774 19:52:01 epoll_ctl(13, EPOLL_CTL_ADD, 32, {EPOLLOUT, {u32=32, u64=32}}) = 0 <0.000020>
18774 19:52:01 epoll_wait(13, {{EPOLLOUT, {u32=32, u64=32}}}, 1024, 369) = 1 <0.001203>
18774 19:52:01 getsockopt(32, SOL_SOCKET, SO_ERROR, [0], [4]) = 0 <0.000019>
18774 19:52:01 writev(32, [{"POST /cube/report/reportbizdata?"..., 404}, {"", 0}], 2) = 404 <0.000030>
18774 19:52:01 getpeername(32, {sa_family=AF_INET, sin_port=htons(80), sin_addr=inet_addr("100.77.12.80")}, [16]) = 0 <0.000018>
18774 19:52:01 epoll_ctl(13, EPOLL_CTL_ADD, 32, {EPOLLIN, {u32=32, u64=32}}) = -1 EEXIST (File exists) <0.000017>
18774 19:52:01 epoll_ctl(13, EPOLL_CTL_MOD, 32, {EPOLLIN, {u32=32, u64=32}}) = 0 <0.000017>
18774 19:52:01 epoll_wait(13, <unfinished ...>
18803 19:52:01 <... poll resumed> ) = 1 ([{fd=31, revents=POLLIN|POLLHUP}]) <0.006258>
18803 19:52:01 read(31, "\2\0\0\0\1\0\0\0\27\0\0\0\0\0\0\0\2\0\0\0\4\0\0\0\r\0\0\0\0\0\0\0", 32) = 32 <0.000017>
18803 19:52:01 readv(31, [{"api.cube.weixin.oa.com\0", 23}, {"\v\265r\374\tr\f\36\v\265s\303\tr\27\274\v\265s\275\tr\27\261dM\fPdA\37\20"..., 52}], 2) = 75 <0.000017>
18803 19:52:01 close(31) = 0 <0.000019>
18803 19:52:01 socket(PF_INET, SOCK_DGRAM, IPPROTO_IP) = 31 <0.000018>
18803 19:52:01 connect(31, {sa_family=AF_INET, sin_port=htons(0), sin_addr=inet_addr("11.181.114.252")}, 16) = 0 <0.000023>
18803 19:52:01 getsockname(31, {sa_family=AF_INET, sin_port=htons(45571), sin_addr=inet_addr("9.134.186.224")}, [16]) = 0 <0.000016>
18803 19:52:01 connect(31, {sa_family=AF_UNSPEC, sa_data="\0\0\0\0\0\0\0\0\0\0\0\0\0\0"}, 16) = 0 <0.000028>
18803 19:52:01 connect(31, {sa_family=AF_INET, sin_port=htons(0), sin_addr=inet_addr("9.114.12.30")}, 16) = 0 <0.000021>
18803 19:52:01 getsockname(31, {sa_family=AF_INET, sin_port=htons(38128), sin_addr=inet_addr("9.134.186.224")}, [16]) = 0 <0.000019>
18803 19:52:01 connect(31, {sa_family=AF_UNSPEC, sa_data="\0\0\0\0\0\0\0\0\0\0\0\0\0\0"}, 16) = 0 <0.000019>
18803 19:52:01 connect(31, {sa_family=AF_INET, sin_port=htons(0), sin_addr=inet_addr("11.181.115.195")}, 16) = 0 <0.000024>
18803 19:52:01 getsockname(31, {sa_family=AF_INET, sin_port=htons(37568), sin_addr=inet_addr("9.134.186.224")}, [16]) = 0 <0.000021>
18803 19:52:01 connect(31, {sa_family=AF_UNSPEC, sa_data="\0\0\0\0\0\0\0\0\0\0\0\0\0\0"}, 16) = 0 <0.000022>
18803 19:52:01 connect(31, {sa_family=AF_INET, sin_port=htons(0), sin_addr=inet_addr("9.114.23.188")}, 16) = 0 <0.000022>
18803 19:52:01 getsockname(31, {sa_family=AF_INET, sin_port=htons(59097), sin_addr=inet_addr("9.134.186.224")}, [16]) = 0 <0.000020>
18803 19:52:01 connect(31, {sa_family=AF_UNSPEC, sa_data="\0\0\0\0\0\0\0\0\0\0\0\0\0\0"}, 16) = 0 <0.000021>
18803 19:52:01 connect(31, {sa_family=AF_INET, sin_port=htons(0), sin_addr=inet_addr("11.181.115.189")}, 16) = 0 <0.000021>
18803 19:52:01 getsockname(31, {sa_family=AF_INET, sin_port=htons(44293), sin_addr=inet_addr("9.134.186.224")}, [16]) = 0 <0.000020>
18803 19:52:01 connect(31, {sa_family=AF_UNSPEC, sa_data="\0\0\0\0\0\0\0\0\0\0\0\0\0\0"}, 16) = 0 <0.000021>
18803 19:52:01 connect(31, {sa_family=AF_INET, sin_port=htons(0), sin_addr=inet_addr("9.114.23.177")}, 16) = 0 <0.000021>
18803 19:52:01 getsockname(31, {sa_family=AF_INET, sin_port=htons(45752), sin_addr=inet_addr("9.134.186.224")}, [16]) = 0 <0.000020>
18803 19:52:01 connect(31, {sa_family=AF_UNSPEC, sa_data="\0\0\0\0\0\0\0\0\0\0\0\0\0\0"}, 16) = 0 <0.000025>
18803 19:52:01 connect(31, {sa_family=AF_INET, sin_port=htons(0), sin_addr=inet_addr("100.77.12.80")}, 16) = 0 <0.000031>
18803 19:52:01 getsockname(31, {sa_family=AF_INET, sin_port=htons(36624), sin_addr=inet_addr("9.134.186.224")}, [16]) = 0 <0.000021>
18803 19:52:01 connect(31, {sa_family=AF_UNSPEC, sa_data="\0\0\0\0\0\0\0\0\0\0\0\0\0\0"}, 16) = 0 <0.000020>
18803 19:52:01 connect(31, {sa_family=AF_INET, sin_port=htons(0), sin_addr=inet_addr("100.65.31.16")}, 16) = 0 <0.000023>
18803 19:52:01 getsockname(31, {sa_family=AF_INET, sin_port=htons(34608), sin_addr=inet_addr("9.134.186.224")}, [16]) = 0 <0.000020>
18803 19:52:01 connect(31, {sa_family=AF_UNSPEC, sa_data="\0\0\0\0\0\0\0\0\0\0\0\0\0\0"}, 16) = 0 <0.000021>
18803 19:52:01 connect(31, {sa_family=AF_INET, sin_port=htons(0), sin_addr=inet_addr("11.177.214.119")}, 16) = 0 <0.000022>
18803 19:52:01 getsockname(31, {sa_family=AF_INET, sin_port=htons(48792), sin_addr=inet_addr("9.134.186.224")}, [16]) = 0 <0.000019>
18803 19:52:01 connect(31, {sa_family=AF_UNSPEC, sa_data="\0\0\0\0\0\0\0\0\0\0\0\0\0\0"}, 16) = 0 <0.000020>
18803 19:52:01 connect(31, {sa_family=AF_INET, sin_port=htons(0), sin_addr=inet_addr("100.97.6.208")}, 16) = 0 <0.000022>
18803 19:52:01 getsockname(31, {sa_family=AF_INET, sin_port=htons(47411), sin_addr=inet_addr("9.134.186.224")}, [16]) = 0 <0.000021>
18803 19:52:01 connect(31, {sa_family=AF_UNSPEC, sa_data="\0\0\0\0\0\0\0\0\0\0\0\0\0\0"}, 16) = 0 <0.000021>
18803 19:52:01 connect(31, {sa_family=AF_INET, sin_port=htons(0), sin_addr=inet_addr("9.114.23.185")}, 16) = 0 <0.000023>
18803 19:52:01 getsockname(31, {sa_family=AF_INET, sin_port=htons(43483), sin_addr=inet_addr("9.134.186.224")}, [16]) = 0 <0.000018>
18803 19:52:01 connect(31, {sa_family=AF_UNSPEC, sa_data="\0\0\0\0\0\0\0\0\0\0\0\0\0\0"}, 16) = 0 <0.000018>
18803 19:52:01 connect(31, {sa_family=AF_INET, sin_port=htons(0), sin_addr=inet_addr("9.114.12.38")}, 16) = 0 <0.000019>
18803 19:52:01 getsockname(31, {sa_family=AF_INET, sin_port=htons(37128), sin_addr=inet_addr("9.134.186.224")}, [16]) = 0 <0.000018>
18803 19:52:01 connect(31, {sa_family=AF_UNSPEC, sa_data="\0\0\0\0\0\0\0\0\0\0\0\0\0\0"}, 16) = 0 <0.000018>
18803 19:52:01 connect(31, {sa_family=AF_INET, sin_port=htons(0), sin_addr=inet_addr("100.77.7.152")}, 16) = 0 <0.000019>
18803 19:52:01 getsockname(31, {sa_family=AF_INET, sin_port=htons(44127), sin_addr=inet_addr("9.134.186.224")}, [16]) = 0 <0.000018>
18803 19:52:01 close(31) = 0 <0.000020>
18803 19:52:01 write(16, "\1\0\0\0\0\0\0\0", 8) = 8 <0.000022>
18774 19:52:01 <... epoll_wait resumed> {{EPOLLIN, {u32=16, u64=16}}}, 1024, 367) = 1 <0.006063>
18803 19:52:01 futex(0x2c95aa4, FUTEX_WAIT_PRIVATE, 502, NULL <unfinished ...>
18774 19:52:01 read(16, "\1\0\0\0\0\0\0\0", 1024) = 8 <0.000019>
18774 19:52:01 socket(PF_INET, SOCK_STREAM|SOCK_CLOEXEC|SOCK_NONBLOCK, IPPROTO_IP) = 31 <0.000021>
18774 19:52:01 connect(31, {sa_family=AF_INET, sin_port=htons(80), sin_addr=inet_addr("11.181.114.252")}, 16) = -1 EINPROGRESS (Operation now in progress) <0.000035>
18774 19:52:01 epoll_ctl(13, EPOLL_CTL_ADD, 31, {EPOLLOUT, {u32=31, u64=31}}) = 0 <0.000021>
18774 19:52:01 epoll_wait(13, {{EPOLLOUT, {u32=31, u64=31}}}, 1024, 361) = 1 <0.001201>
18774 19:52:01 getsockopt(31, SOL_SOCKET, SO_ERROR, [0], [4]) = 0 <0.000019>
18774 19:52:01 writev(31, [{"POST /cube/report/reportbizdata?"..., 537}, {"", 0}], 2) = 537 <0.000032>
18774 19:52:01 getpeername(31, {sa_family=AF_INET, sin_port=htons(80), sin_addr=inet_addr("11.181.114.252")}, [16]) = 0 <0.000019>
18774 19:52:01 epoll_ctl(13, EPOLL_CTL_ADD, 31, {EPOLLIN, {u32=31, u64=31}}) = -1 EEXIST (File exists) <0.000018>
18774 19:52:01 epoll_ctl(13, EPOLL_CTL_MOD, 31, {EPOLLIN, {u32=31, u64=31}}) = 0 <0.000019>
18774 19:52:01 epoll_wait(13, {{EPOLLIN, {u32=32, u64=32}}}, 1024, 359) = 1 <0.050760>
18774 19:52:01 read(32, "HTTP/1.1 200 OK\r\nx-proxy-by: Sma"..., 65536) = 240 <0.000019>
18774 19:52:01 epoll_ctl(13, EPOLL_CTL_DEL, 32, {0, {u32=0, u64=0}}) = 0 <0.000020>
18774 19:52:01 close(32) = 0 <0.000027>
18774 19:52:01 epoll_wait(13, {{EPOLLIN, {u32=31, u64=31}}}, 1024, 308) = 1 <0.004144>
18774 19:52:01 read(31, "HTTP/1.1 200 OK\r\nx-proxy-by: Sma"..., 65536) = 242 <0.000020>
18774 19:52:01 epoll_ctl(13, EPOLL_CTL_DEL, 31, {0, {u32=0, u64=0}}) = 0 <0.000019>
18774 19:52:01 close(31) = 0 <0.000029>
18774 19:52:01 epoll_wait(13, {}, 1024, 303) = 0 <0.303343>
18774 19:52:02 epoll_wait(13, {}, 1024, 9630) = 0 <9.636519>
18774 19:52:11 futex(0x2c95aa4, FUTEX_WAKE_OP_PRIVATE, 1, 1, 0x2c95aa0, {FUTEX_OP_SET, 0, FUTEX_OP_CMP_GT, 1} <unfinished ...>
18802 19:52:11 <... futex resumed> ) = 0 <14.139202>
18774 19:52:11 <... futex resumed> ) = 1 <0.000059>
18802 19:52:11 futex(0x2c95a60, FUTEX_WAIT_PRIVATE, 2, NULL <unfinished ...>
18774 19:52:11 futex(0x2c95a60, FUTEX_WAKE_PRIVATE, 1 <unfinished ...>
18802 19:52:11 <... futex resumed> ) = -1 EAGAIN (Resource temporarily unavailable) <0.000015>
18774 19:52:11 <... futex resumed> ) = 0 <0.000019>
18802 19:52:11 futex(0x2c95a60, FUTEX_WAKE_PRIVATE, 1) = 0 <0.000020>
18802 19:52:11 socket(PF_NETLINK, SOCK_RAW, 0) = 31 <0.000021>
18802 19:52:11 bind(31, {sa_family=AF_NETLINK, pid=0, groups=00000000}, 12) = 0 <0.000031>
18802 19:52:11 getsockname(31, <unfinished ...>
18774 19:52:11 epoll_wait(13, <unfinished ...>
18802 19:52:11 <... getsockname resumed> {sa_family=AF_NETLINK, pid=18774, groups=00000000}, [12]) = 0 <0.000017>
18802 19:52:11 sendto(31, "\24\0\0\0\26\0\1\3\353\333Jb\0\0\0\0\0\0\0\0", 20, 0, {sa_family=AF_NETLINK, pid=0, groups=00000000}, 12) = 20 <0.000025>
18802 19:52:11 recvmsg(31, {msg_name(12)={sa_family=AF_NETLINK, pid=0, groups=00000000}, msg_iov(1)=[{"D\0\0\0\24\0\2\0\353\333JbVI\0\0\2\10\200\376\1\0\0\0\10\0\1\0\177\0\0\1"..., 4096}], msg_controllen=0, msg_flags=0}, 0) = 228 <0.000025>
18802 19:52:11 recvmsg(31, {msg_name(12)={sa_family=AF_NETLINK, pid=0, groups=00000000}, msg_iov(1)=[{"\24\0\0\0\3\0\2\0\353\333JbVI\0\0\0\0\0\0", 4096}], msg_controllen=0, msg_flags=0}, 0) = 20 <0.000019>
18802 19:52:11 close(31) = 0 <0.000022>
18802 19:52:11 socket(PF_LOCAL, SOCK_STREAM|SOCK_CLOEXEC|SOCK_NONBLOCK, 0) = 31 <0.000020>
18802 19:52:11 connect(31, {sa_family=AF_LOCAL, sun_path="/var/run/nscd/socket"}, 110) = 0 <0.000034>
18802 19:52:11 sendto(31, "\2\0\0\0\4\0\0\0\27\0\0\0api.cube.weixin.oa.c"..., 35, MSG_NOSIGNAL, NULL, 0) = 35 <0.000023>
18802 19:52:11 poll([{fd=31, events=POLLIN|POLLERR|POLLHUP}], 1, 5000) = 1 ([{fd=31, revents=POLLIN|POLLHUP}]) <0.006043>
18802 19:52:11 read(31, "\2\0\0\0\1\0\0\0\27\0\0\0\0\0\0\0\2\0\0\0\4\0\0\0\r\0\0\0\0\0\0\0", 32) = 32 <0.000017>
18802 19:52:11 readv(31, [{"api.cube.weixin.oa.com\0", 23}, {"\tr\f\36\v\265s\303\tr\27\274\tr\27\261\v\265s\275\v\265r\374\tr\27\271da\6\320"..., 52}], 2) = 75 <0.000017>
18802 19:52:11 close(31) = 0 <0.000019>
18802 19:52:11 socket(PF_INET, SOCK_DGRAM, IPPROTO_IP) = 31 <0.000017>
18802 19:52:11 connect(31, {sa_family=AF_INET, sin_port=htons(0), sin_addr=inet_addr("9.114.12.30")}, 16) = 0 <0.000019>
18802 19:52:11 getsockname(31, {sa_family=AF_INET, sin_port=htons(57476), sin_addr=inet_addr("9.134.186.224")}, [16]) = 0 <0.000016>
18802 19:52:11 connect(31, {sa_family=AF_UNSPEC, sa_data="\0\0\0\0\0\0\0\0\0\0\0\0\0\0"}, 16) = 0 <0.000036>
18802 19:52:11 connect(31, {sa_family=AF_INET, sin_port=htons(0), sin_addr=inet_addr("11.181.115.195")}, 16) = 0 <0.000020>
18802 19:52:11 getsockname(31, {sa_family=AF_INET, sin_port=htons(49894), sin_addr=inet_addr("9.134.186.224")}, [16]) = 0 <0.000016>
18802 19:52:11 connect(31, {sa_family=AF_UNSPEC, sa_data="\0\0\0\0\0\0\0\0\0\0\0\0\0\0"}, 16) = 0 <0.000016>
18802 19:52:11 connect(31, {sa_family=AF_INET, sin_port=htons(0), sin_addr=inet_addr("9.114.23.188")}, 16) = 0 <0.000018>
18802 19:52:11 getsockname(31, {sa_family=AF_INET, sin_port=htons(40821), sin_addr=inet_addr("9.134.186.224")}, [16]) = 0 <0.000017>
18802 19:52:11 connect(31, {sa_family=AF_UNSPEC, sa_data="\0\0\0\0\0\0\0\0\0\0\0\0\0\0"}, 16) = 0 <0.000016>
18802 19:52:11 connect(31, {sa_family=AF_INET, sin_port=htons(0), sin_addr=inet_addr("9.114.23.177")}, 16) = 0 <0.000018>
18802 19:52:11 getsockname(31, {sa_family=AF_INET, sin_port=htons(58596), sin_addr=inet_addr("9.134.186.224")}, [16]) = 0 <0.000016>
18802 19:52:11 connect(31, {sa_family=AF_UNSPEC, sa_data="\0\0\0\0\0\0\0\0\0\0\0\0\0\0"}, 16) = 0 <0.000017>
18802 19:52:11 connect(31, {sa_family=AF_INET, sin_port=htons(0), sin_addr=inet_addr("11.181.115.189")}, 16) = 0 <0.000017>
18802 19:52:11 getsockname(31, {sa_family=AF_INET, sin_port=htons(39089), sin_addr=inet_addr("9.134.186.224")}, [16]) = 0 <0.000017>
18802 19:52:11 connect(31, {sa_family=AF_UNSPEC, sa_data="\0\0\0\0\0\0\0\0\0\0\0\0\0\0"}, 16) = 0 <0.000017>
18802 19:52:11 connect(31, {sa_family=AF_INET, sin_port=htons(0), sin_addr=inet_addr("11.181.114.252")}, 16) = 0 <0.000020>
18802 19:52:11 getsockname(31, {sa_family=AF_INET, sin_port=htons(45583), sin_addr=inet_addr("9.134.186.224")}, [16]) = 0 <0.000017>
18802 19:52:11 connect(31, {sa_family=AF_UNSPEC, sa_data="\0\0\0\0\0\0\0\0\0\0\0\0\0\0"}, 16) = 0 <0.000017>
18802 19:52:11 connect(31, {sa_family=AF_INET, sin_port=htons(0), sin_addr=inet_addr("9.114.23.185")}, 16) = 0 <0.000018>
18802 19:52:11 getsockname(31, {sa_family=AF_INET, sin_port=htons(56575), sin_addr=inet_addr("9.134.186.224")}, [16]) = 0 <0.000017>
18802 19:52:11 connect(31, {sa_family=AF_UNSPEC, sa_data="\0\0\0\0\0\0\0\0\0\0\0\0\0\0"}, 16) = 0 <0.000017>
18802 19:52:11 connect(31, {sa_family=AF_INET, sin_port=htons(0), sin_addr=inet_addr("100.97.6.208")}, 16) = 0 <0.000017>
18802 19:52:11 getsockname(31, {sa_family=AF_INET, sin_port=htons(32971), sin_addr=inet_addr("9.134.186.224")}, [16]) = 0 <0.000016>
18802 19:52:11 connect(31, {sa_family=AF_UNSPEC, sa_data="\0\0\0\0\0\0\0\0\0\0\0\0\0\0"}, 16) = 0 <0.000018>
18802 19:52:11 connect(31, {sa_family=AF_INET, sin_port=htons(0), sin_addr=inet_addr("100.65.31.16")}, 16) = 0 <0.000017>
18802 19:52:11 getsockname(31, {sa_family=AF_INET, sin_port=htons(52752), sin_addr=inet_addr("9.134.186.224")}, [16]) = 0 <0.000017>
18802 19:52:11 connect(31, {sa_family=AF_UNSPEC, sa_data="\0\0\0\0\0\0\0\0\0\0\0\0\0\0"}, 16) = 0 <0.000017>
18802 19:52:11 connect(31, {sa_family=AF_INET, sin_port=htons(0), sin_addr=inet_addr("100.77.12.80")}, 16) = 0 <0.000017>
18802 19:52:11 getsockname(31, {sa_family=AF_INET, sin_port=htons(48546), sin_addr=inet_addr("9.134.186.224")}, [16]) = 0 <0.000016>
18802 19:52:11 connect(31, {sa_family=AF_UNSPEC, sa_data="\0\0\0\0\0\0\0\0\0\0\0\0\0\0"}, 16) = 0 <0.000017>
18802 19:52:11 connect(31, {sa_family=AF_INET, sin_port=htons(0), sin_addr=inet_addr("9.114.12.38")}, 16) = 0 <0.000018>
18802 19:52:11 getsockname(31, {sa_family=AF_INET, sin_port=htons(58786), sin_addr=inet_addr("9.134.186.224")}, [16]) = 0 <0.000016>
18802 19:52:11 connect(31, {sa_family=AF_UNSPEC, sa_data="\0\0\0\0\0\0\0\0\0\0\0\0\0\0"}, 16) = 0 <0.000021>
18802 19:52:11 connect(31, {sa_family=AF_INET, sin_port=htons(0), sin_addr=inet_addr("11.177.214.119")}, 16) = 0 <0.000027>
18802 19:52:11 getsockname(31, {sa_family=AF_INET, sin_port=htons(34297), sin_addr=inet_addr("9.134.186.224")}, [16]) = 0 <0.000020>
18802 19:52:11 connect(31, {sa_family=AF_UNSPEC, sa_data="\0\0\0\0\0\0\0\0\0\0\0\0\0\0"}, 16) = 0 <0.000020>
18802 19:52:11 connect(31, {sa_family=AF_INET, sin_port=htons(0), sin_addr=inet_addr("100.77.7.152")}, 16) = 0 <0.000021>
18802 19:52:11 getsockname(31, {sa_family=AF_INET, sin_port=htons(57839), sin_addr=inet_addr("9.134.186.224")}, [16]) = 0 <0.000019>
18802 19:52:11 close(31) = 0 <0.000022>
18802 19:52:11 write(16, "\1\0\0\0\0\0\0\0", 8) = 8 <0.000028>
18774 19:52:11 <... epoll_wait resumed> {{EPOLLIN, {u32=16, u64=16}}}, 1024, 138) = 1 <0.009391>
18802 19:52:11 futex(0x2c95aa4, FUTEX_WAIT_PRIVATE, 504, NULL <unfinished ...>
18774 19:52:11 read(16, "\1\0\0\0\0\0\0\0", 1024) = 8 <0.000020>
18774 19:52:11 socket(PF_INET, SOCK_STREAM|SOCK_CLOEXEC|SOCK_NONBLOCK, IPPROTO_IP) = 31 <0.000021>
18774 19:52:11 connect(31, {sa_family=AF_INET, sin_port=htons(80), sin_addr=inet_addr("9.114.12.30")}, 16) = -1 EINPROGRESS (Operation now in progress) <0.000039>
18774 19:52:11 epoll_ctl(13, EPOLL_CTL_ADD, 31, {EPOLLOUT, {u32=31, u64=31}}) = 0 <0.000019>
18774 19:52:11 epoll_wait(13, {{EPOLLOUT, {u32=31, u64=31}}}, 1024, 128) = 1 <0.001274>
18774 19:52:11 getsockopt(31, SOL_SOCKET, SO_ERROR, [0], [4]) = 0 <0.000020>
18774 19:52:11 writev(31, [{"POST /cube/report/reportbizdata?"..., 882}, {"", 0}], 2) = 882 <0.000027>
18774 19:52:11 getpeername(31, {sa_family=AF_INET, sin_port=htons(80), sin_addr=inet_addr("9.114.12.30")}, [16]) = 0 <0.000018>
18774 19:52:11 epoll_ctl(13, EPOLL_CTL_ADD, 31, {EPOLLIN, {u32=31, u64=31}}) = -1 EEXIST (File exists) <0.000017>
18774 19:52:11 epoll_ctl(13, EPOLL_CTL_MOD, 31, {EPOLLIN, {u32=31, u64=31}}) = 0 <0.000017>
18774 19:52:11 epoll_wait(13, {{EPOLLIN, {u32=31, u64=31}}}, 1024, 126) = 1 <0.096073>
18774 19:52:11 read(31, "HTTP/1.1 200 OK\r\nx-proxy-by: Sma"..., 65536) = 239 <0.000021>
18774 19:52:11 epoll_ctl(13, EPOLL_CTL_DEL, 31, {0, {u32=0, u64=0}}) = 0 <0.000023>
18774 19:52:11 close(31) = 0 <0.000032>
18774 19:52:11 epoll_wait(13, {}, 1024, 29) = 0 <0.029081>
18774 19:52:11 epoll_wait(13, {}, 1024, 3633) = 0 <3.636505>
18774 19:52:15 epoll_wait(13, {}, 1024, 46219) = 0 <46.259644>
18774 19:53:01 write(20, "262d12b14b26 5e LazyCompile:~Soc"..., 58) = 58 <0.000030>
18774 19:53:01 write(20, "262d12b14d46 78 LazyCompile:~soc"..., 65) = 65 <0.000022>
18774 19:53:01 epoll_ctl(13, EPOLL_CTL_DEL, 29, {0, {u32=0, u64=0}}) = 0 <0.000019>
18774 19:53:01 close(29) = 0 <0.000042>
18774 19:53:01 write(20, "262d12b15136 61 LazyCompile:~Ser"..., 68) = 68 <0.000022>
18774 19:53:01 epoll_wait(13, {}, 1024, 0) = 0 <0.000018>
18774 19:53:01 write(20, "262d12b15316 3c LazyCompile:~soc"..., 63) = 63 <0.000021>
18774 19:53:01 write(20, "262d12b154e6 3c LazyCompile:~abo"..., 63) = 63 <0.000022>
18774 19:53:01 epoll_wait(13,
sudo strace -f -p 18774 -t -T -c -o ./strace.log
% time seconds usecs/call calls errors syscall
------ ----------- ----------- --------- --------- ----------------
94.39 56.299452 303 185508 37958 futex
5.55 3.312787 530 6251 poll
0.01 0.008272 0 96788 write
0.01 0.008162 6 1376 brk
0.01 0.008000 34 234 epoll_wait
0.00 0.002889 0 7925 munmap
0.00 0.002638 0 162966 3065 connect
0.00 0.001158 0 12301 sendto
0.00 0.000984 0 22354 mprotect
0.00 0.000781 0 86100 getsockname
0.00 0.000566 0 45106 45000 open
0.00 0.000468 0 24623 close
0.00 0.000454 0 21516 socket
0.00 0.000354 0 21202 3064 epoll_ctl
0.00 0.000304 0 45100 ioctl
0.00 0.000215 0 447 madvise
0.00 0.000207 0 6046 writev
0.00 0.000105 0 6050 readv
0.00 0.000105 0 3000 shutdown
0.00 0.000103 0 12300 recvmsg
0.00 0.000088 0 6046 getpeername
0.00 0.000074 0 9471 read
0.00 0.000042 0 3031 31 accept4
0.00 0.000035 0 3046 getsockopt
0.00 0.000000 0 434 372 stat
0.00 0.000000 0 106 fstat
0.00 0.000000 0 4022 mmap
0.00 0.000000 0 100 recvfrom
0.00 0.000000 0 6150 bind
------ ----------- ----------- --------- --------- ----------------
100.00 59.648243 799599 89490 total
That looks like what I would expect: only
loadImage
andtoBuffer
taking a significant amount of time.I'm not sure what platform you're on, but on Windows you can attach the Visual Studio (not Visual Studio Code) profiler to get accurate C++ profiling. There are also two guides from Node.js here:
so can you tell me why the two function cost too much.Maybe the performance bottleneck is because my svg image is too big or some specific elements are added that cause these two functions to take too long?
hey,man, maybe i find the problem , i use canvas.toBuffer() to deal with the svg, if i change this info in the svg, the qps will increase to 100 qps, initial concurrency is 20qps
this is the initial:
<svg width="640" height="1020" viewBox="0 0 640 1020" fill="none" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
This is the performance improvement after modification:
<svg width="271" height="217" viewBox="0 0 271 217" fill="none" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
so, can you tell me if i want use <svg width="640" height="1020" viewBox="0 0 640 1020" fill="none" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
, how can i improve program performance?
hey, man, i learned this function
/**
* For image canvases, encodes the canvas as a PNG. For PDF canvases,
* encodes the canvas as a PDF. For SVG canvases, encodes the canvas as an
* SVG.
*/
toBuffer(cb: (err: Error|null, result: Buffer) => void): void
toBuffer(cb: (err: Error|null, result: Buffer) => void, mimeType: 'image/png', config?: PngConfig): void
toBuffer(cb: (err: Error|null, result: Buffer) => void, mimeType: 'image/jpeg', config?: JpegConfig): void
/**
* For image canvases, encodes the canvas as a PNG. For PDF canvases,
* encodes the canvas as a PDF. For SVG canvases, encodes the canvas as an
* SVG.
*/
toBuffer(): Buffer
toBuffer(mimeType: 'image/png', config?: PngConfig): Buffer
toBuffer(mimeType: 'image/jpeg', config?: JpegConfig): Buffer
toBuffer(mimeType: 'application/pdf', config?: PdfConfig): Buffer
and i learnt the source code int src/Canvas.cc
// Async PNG
if (info[0]->IsFunction() &&
(info[1]->IsUndefined() || info[1]->StrictEquals(Nan::New<String>("image/png").ToLocalChecked()))) {
PngClosure* closure;
try {
closure = new PngClosure(canvas);
parsePNGArgs(info[2], *closure);
} catch (cairo_status_t ex) {
Nan::ThrowError(Canvas::Error(ex));
return;
} catch (const char* ex) {
Nan::ThrowError(ex);
return;
}
canvas->Ref();
closure->cb.Reset(info[0].As<Function>());
uv_work_t* req = new uv_work_t;
req->data = closure;
// Make sure the surface exists since we won't have an isolate context in the async block:
canvas->surface();
uv_queue_work(uv_default_loop(), req, ToPngBufferAsync, (uv_after_work_cb)ToBufferAsyncAfter);
return;
}
Because my current code calls this function synchronously, if I use an asynchronous calling method, how can I call the asynchronous function to improve performance while ensuring that the buffer content is correct? so can you give me a example for how to call this function asynchronously?
@lixiaoqian521 to help others better help you, it might be a good idea to create an example project to reproduce the issue.
Take this example: https://github.com/Automattic/node-canvas/blob/master/examples/image-src-svg.js, it's less than 20 lines of code
Put your svg in, or create a equivalent complex svg and make sure to reproduce the issue.
@lixiaoqian521 did you ever manage to fix this performance issue?
@lixiaoqian521 any updates?
hello,i meet a Performance bottleneck problem caused by the function _registerFont but i dont know why this function use too much cpu cost and i dont know why i invoked this function,because im sure im not use this function in my project,i just use loadImage createCanvas Image these three function,so i guess maybe these functions invoke _registerFont?am i right?please tell me