Page MenuHomePhabricator
Paste P15088

servicerunner-PR-148
ActivePublic

Authored by santhosh on Mar 30 2021, 5:20 AM.
santhosh@thottingal  ~/work/wiki/cxserver-local   master  git apply /tmp/util.js.patch
santhosh@thottingal  ~/work/wiki/cxserver-local   master ±  docker pull node:10-buster
10-buster: Pulling from library/node
8bf9c589d5f9: Pull complete
4c70e46d8b5f: Pull complete
ea848ad42f0d: Pull complete
48fe137f8d26: Pull complete
4b13f6ed9b0c: Pull complete
2c1a4c5e5947: Pull complete
28baa7dc0b0b: Pull complete
2c119f02f0a0: Pull complete
573f9f7a723a: Pull complete
Digest: sha256:7e6a1523759c5808b5d26831571ece41f9e385018d7fcfbf93ff6137ca43438b
Status: Downloaded newer image for node:10-buster
docker.io/library/node:10-buster
santhosh@thottingal  ~/work/wiki/cxserver-local   master ±  docker run -it --rm --net host --user node -v $(pwd):/home/node/src --workdir /home/node/src node:10-buster /bin/bash
node@thottingal:~/src$ npm install
> dtrace-provider@0.8.8 install /home/node/src/node_modules/dtrace-provider
> node-gyp rebuild || node suppress-error.js
make: Entering directory '/home/node/src/node_modules/dtrace-provider/build'
TOUCH Release/obj.target/DTraceProviderStub.stamp
make: Leaving directory '/home/node/src/node_modules/dtrace-provider/build'
> gc-stats@1.4.0 install /home/node/src/node_modules/gc-stats
> node-pre-gyp install --fallback-to-build
node-pre-gyp WARN Using request for node-pre-gyp https download
[gc-stats] Success: "/home/node/src/node_modules/gc-stats/build/gcstats/v1.4.0/Release/node-v64-linux-x64/gcstats.node" is installed via remote
> heapdump@0.3.15 install /home/node/src/node_modules/heapdump
> node-gyp rebuild
make: Entering directory '/home/node/src/node_modules/heapdump/build'
CXX(target) Release/obj.target/addon/src/heapdump.o
In file included from ../src/heapdump.cc:17:
../../nan/nan.h: In function 'void Nan::AsyncQueueWorker(Nan::AsyncWorker*)':
../../nan/nan.h:2294:62: warning: cast between incompatible function types from 'void (*)(uv_work_t*)' {aka 'void (*)(uv_work_s*)'} to 'uv_after_work_cb' {aka 'void (*)(uv_work_s*, int)'} [-Wcast-function-type]
, reinterpret_cast<uv_after_work_cb>(AsyncExecuteComplete)
^
In file included from ../src/heapdump.cc:15:
../src/heapdump.cc: At global scope:
/home/node/.cache/node-gyp/10.24.0/include/node/node.h:573:43: warning: cast between incompatible function types from 'void (*)(Nan::ADDON_REGISTER_FUNCTION_ARGS_TYPE)' {aka 'void (*)(v8::Local<v8::Object>)'} to 'node::addon_register_func' {aka 'void (*)(v8::Local<v8::Object>, v8::Local<v8::Value>, void*)'} [-Wcast-function-type]
(node::addon_register_func) (regfunc), \
^
/home/node/.cache/node-gyp/10.24.0/include/node/node.h:607:3: note: in expansion of macro 'NODE_MODULE_X'
NODE_MODULE_X(modname, regfunc, NULL, 0) // NOLINT (readability/null_usage)
^~~~~~~~~~~~~
../src/heapdump.cc:136:1: note: in expansion of macro 'NODE_MODULE'
NODE_MODULE(addon, Initialize)
^~~~~~~~~~~
In file included from /home/node/.cache/node-gyp/10.24.0/include/node/node.h:63,
from ../src/heapdump.cc:15:
/home/node/.cache/node-gyp/10.24.0/include/node/v8.h: In instantiation of 'void v8::PersistentBase<T>::SetWeak(P*, typename v8::WeakCallbackInfo<P>::Callback, v8::WeakCallbackType) [with P = node::ObjectWrap; T = v8::Object; typename v8::WeakCallbackInfo<P>::Callback = void (*)(const v8::WeakCallbackInfo<node::ObjectWrap>&)]':
/home/node/.cache/node-gyp/10.24.0/include/node/node_object_wrap.h:84:78: required from here
/home/node/.cache/node-gyp/10.24.0/include/node/v8.h:9502:16: warning: cast between incompatible function types from 'v8::WeakCallbackInfo<node::ObjectWrap>::Callback' {aka 'void (*)(const v8::WeakCallbackInfo<node::ObjectWrap>&)'} to 'Callback' {aka 'void (*)(const v8::WeakCallbackInfo<void>&)'} [-Wcast-function-type]
reinterpret_cast<Callback>(callback), type);
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/home/node/.cache/node-gyp/10.24.0/include/node/v8.h: In instantiation of 'void v8::PersistentBase<T>::SetWeak(P*, typename v8::WeakCallbackInfo<P>::Callback, v8::WeakCallbackType) [with P = Nan::ObjectWrap; T = v8::Object; typename v8::WeakCallbackInfo<P>::Callback = void (*)(const v8::WeakCallbackInfo<Nan::ObjectWrap>&)]':
../../nan/nan_object_wrap.h:65:61: required from here
/home/node/.cache/node-gyp/10.24.0/include/node/v8.h:9502:16: warning: cast between incompatible function types from 'v8::WeakCallbackInfo<Nan::ObjectWrap>::Callback' {aka 'void (*)(const v8::WeakCallbackInfo<Nan::ObjectWrap>&)'} to 'Callback' {aka 'void (*)(const v8::WeakCallbackInfo<void>&)'} [-Wcast-function-type]
SOLINK_MODULE(target) Release/obj.target/addon.node
COPY Release/addon.node
make: Leaving directory '/home/node/src/node_modules/heapdump/build'
> unix-dgram@2.0.4 install /home/node/src/node_modules/unix-dgram
> node-gyp rebuild
make: Entering directory '/home/node/src/node_modules/unix-dgram/build'
CXX(target) Release/obj.target/unix_dgram/src/unix_dgram.o
In file included from ../src/unix_dgram.cc:5:
../../nan/nan.h: In function 'void Nan::AsyncQueueWorker(Nan::AsyncWorker*)':
../../nan/nan.h:2294:62: warning: cast between incompatible function types from 'void (*)(uv_work_t*)' {aka 'void (*)(uv_work_s*)'} to 'uv_after_work_cb' {aka 'void (*)(uv_work_s*, int)'} [-Wcast-function-type]
, reinterpret_cast<uv_after_work_cb>(AsyncExecuteComplete)
^
In file included from ../../nan/nan.h:56,
from ../src/unix_dgram.cc:5:
../src/unix_dgram.cc: At global scope:
/home/node/.cache/node-gyp/10.24.0/include/node/node.h:573:43: warning: cast between incompatible function types from 'void (*)(v8::Local<v8::Object>)' to 'node::addon_register_func' {aka 'void (*)(v8::Local<v8::Object>, v8::Local<v8::Value>, void*)'} [-Wcast-function-type]
(node::addon_register_func) (regfunc), \
^
/home/node/.cache/node-gyp/10.24.0/include/node/node.h:607:3: note: in expansion of macro 'NODE_MODULE_X'
NODE_MODULE_X(modname, regfunc, NULL, 0) // NOLINT (readability/null_usage)
^~~~~~~~~~~~~
../src/unix_dgram.cc:404:1: note: in expansion of macro 'NODE_MODULE'
NODE_MODULE(unix_dgram, Initialize)
^~~~~~~~~~~
In file included from /home/node/.cache/node-gyp/10.24.0/include/node/node.h:63,
from ../../nan/nan.h:56,
from ../src/unix_dgram.cc:5:
/home/node/.cache/node-gyp/10.24.0/include/node/v8.h: In instantiation of 'void v8::PersistentBase<T>::SetWeak(P*, typename v8::WeakCallbackInfo<P>::Callback, v8::WeakCallbackType) [with P = node::ObjectWrap; T = v8::Object; typename v8::WeakCallbackInfo<P>::Callback = void (*)(const v8::WeakCallbackInfo<node::ObjectWrap>&)]':
/home/node/.cache/node-gyp/10.24.0/include/node/node_object_wrap.h:84:78: required from here
/home/node/.cache/node-gyp/10.24.0/include/node/v8.h:9502:16: warning: cast between incompatible function types from 'v8::WeakCallbackInfo<node::ObjectWrap>::Callback' {aka 'void (*)(const v8::WeakCallbackInfo<node::ObjectWrap>&)'} to 'Callback' {aka 'void (*)(const v8::WeakCallbackInfo<void>&)'} [-Wcast-function-type]
reinterpret_cast<Callback>(callback), type);
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/home/node/.cache/node-gyp/10.24.0/include/node/v8.h: In instantiation of 'void v8::PersistentBase<T>::SetWeak(P*, typename v8::WeakCallbackInfo<P>::Callback, v8::WeakCallbackType) [with P = Nan::ObjectWrap; T = v8::Object; typename v8::WeakCallbackInfo<P>::Callback = void (*)(const v8::WeakCallbackInfo<Nan::ObjectWrap>&)]':
../../nan/nan_object_wrap.h:65:61: required from here
/home/node/.cache/node-gyp/10.24.0/include/node/v8.h:9502:16: warning: cast between incompatible function types from 'v8::WeakCallbackInfo<Nan::ObjectWrap>::Callback' {aka 'void (*)(const v8::WeakCallbackInfo<Nan::ObjectWrap>&)'} to 'Callback' {aka 'void (*)(const v8::WeakCallbackInfo<void>&)'} [-Wcast-function-type]
SOLINK_MODULE(target) Release/obj.target/unix_dgram.node
COPY Release/unix_dgram.node
make: Leaving directory '/home/node/src/node_modules/unix-dgram/build'
> sqlite3@4.2.0 install /home/node/src/node_modules/sqlite3
> node-pre-gyp install --fallback-to-build
node-pre-gyp WARN Using request for node-pre-gyp https download
[sqlite3] Success: "/home/node/src/node_modules/sqlite3/lib/binding/node-v64-linux-x64/node_sqlite3.node" is installed via remote
> core-js@3.9.1 postinstall /home/node/src/node_modules/core-js
> node -e "try{require('./postinstall')}catch(e){}"
Thank you for using core-js ( https://github.com/zloirock/core-js ) for polyfilling JavaScript standard library!
The project needs your help! Please consider supporting of core-js on Open Collective or Patreon:
> https://opencollective.com/core-js
> https://www.patreon.com/zloirock
Also, the author of core-js ( https://github.com/zloirock ) is looking for a good job -)
> nodemon@2.0.7 postinstall /home/node/src/node_modules/nodemon
> node bin/postinstall || exit 0
Love nodemon? You can now support the project via the open collective:
> https://opencollective.com/nodemon/donate
npm WARN optional SKIPPING OPTIONAL DEPENDENCY: fsevents@2.3.2 (node_modules/fsevents):
npm WARN notsup SKIPPING OPTIONAL DEPENDENCY: Unsupported platform for fsevents@2.3.2: wanted {"os":"darwin","arch":"any"} (current: {"os":"linux","arch":"x64"})
updated 919 packages and audited 920 packages in 62.671s
47 packages are looking for funding
run `npm fund` for details
found 6 vulnerabilities (4 low, 2 high)
run `npm audit fix` to fix them, or `npm audit` for details
node@thottingal:~/src$ npm run test
> cxserver@1.2.0 test /home/node/src
> npm run lint && npm run unittest
> cxserver@1.2.0 lint /home/node/src
> eslint .
/home/node/src/lib/dictionary/jsondict/JsonDict.js
12:1 warning Found more than one @return declaration jsdoc/require-returns
12:1 warning Found more than one @return declaration jsdoc/require-returns-check
/home/node/src/lib/lineardoc/TextBlock.js
34:2 warning Found more than one @return declaration jsdoc/require-returns
34:2 warning Found more than one @return declaration jsdoc/require-returns-check
/home/node/src/lib/mt/MTClient.js
311:2 warning Found more than one @return declaration jsdoc/require-returns
311:2 warning Found more than one @return declaration jsdoc/require-returns-check
368:2 warning Found more than one @return declaration jsdoc/require-returns
368:2 warning Found more than one @return declaration jsdoc/require-returns-check
422:2 warning Found more than one @return declaration jsdoc/require-returns
422:2 warning Found more than one @return declaration jsdoc/require-returns-check
✖ 10 problems (0 errors, 10 warnings)
> cxserver@1.2.0 unittest /home/node/src
> PREQ_CONNECT_TIMEOUT=15 mocha
Adaptation tests
✓ Link adaptation basic test (2912ms)
✓ Link adaptation - Full paragraph and relative links (41ms)
✓ Image adaptation basic test (1308ms)
✓ Image adaptation - Inline image with figure-inline tag
✓ Image adaptation - Inline image with figure-inline tag
✓ Image adaptation - Source and target language directions differs (1492ms)
✓ Image adaptation - Image is not in commons
✓ Gallery adaptation (9424ms)
✓ Reference adaptation test without a reference template
✓ Reference adaptation test where the content is reference and template at same time
✓ Reference adaptation test where source and target has no template data. Must use template mapping database (1286ms)
Adaptation tests
✓ should adapt section when: section has lot of templates, but all are fragments of main template (2326ms)
Template parameter mapping test
✓ should not have any errors while mapping params
JsonDict
✓ should return result when looking up for an existing word (44ms)
✓ should return no result when looking up for an non existing word
express app
starting test server
✓ should get robots.txt
✓ should set CORS headers
✓ should set CSP headers
Swagger spec
✓ get the spec
✓ spec validation
routes
✓ robots.txt check
✓ root with no query params
✓ spec from root
✓ root with wrong query param
✓ Fetch enwiki protected page (1256ms)
✓ Fetch dictionary meaning with a given provider
✓ Fetch dictionary meaning without specifying a provider
✓ Machine translate an HTML fragment using TestClient. (46ms)
✓ Get the tools between two language pairs
✓ Get all the language pairs
✓ Get the MT tool between two language pairs
✓ Translate enwiki protected page (440ms)
✓ Machine translate an HTML fragment using TestClient, adapt the links to target language wiki. (1331ms)
✓ Suggest a source title to use for translation (1841ms)
✓ Suggest target section titles for given source sections (100ms)
✓ Suggest source sections to translate (2467ms)
✓ retrieve service info
✓ retrieve service name
✓ retrieve service version
✓ redirect to the home page
service information
✓ should get the service name
✓ should get the service version
✓ should redirect to the service home page
✓ should get the service info
v1 api - page gets
✓ should get the whole page body (2073ms)
✓ should throw a 404 for a non-existent page
v2 api - page gets
✓ should get the whole page body (7228ms)
✓ should throw a 404 for a non-existent page (1109ms)
LinearDoc
✓ should be possible to linearise all kind of HTML inputs (86ms)
✓ should be possible to reconstruct the HTML from LinearDoc
✓ should be possible to reduce and expand a document
✓ test HTML compaction roundtrip with inline chunks
✓ test HTML expand with external attributes inserted
✓ test if the content is block level template (84ms)
✓ test HTML compaction roundtrip with inline style content
✓ test HTML compaction roundtrip with template with empty content
✓ test getRootItem for ignoring blockspaces
✓ test getRootItem for not ignoring non-whitespace content in textblock
✓ test getRootItem for ignoring whitespace content in textblock
Apertium machine translation
✓ Test: All caps words
✓ Test: Title caps one-to-many
✓ Test: Reordering with nested tags
✓ Test: Many-to-one with nested tags
✓ Test: Reordering at either ends of a tag
✓ Test: Identical tags separated by whitespace
✓ Test: Non-identical links separated by whitespace
✓ Test: Find longest match among multiple matches
✓ Test: Do not translate content inside the style tags
Google machine translation
✓ Should fail because of wrong key
LingoCloud machine translation
✓ Should fail because of wrong key
Machine translation with wrapped html result
✓ Should throw error
Machine translation result with extra spaces
✓ Should be cleaned up
Subsequence match finding
✓ Should return correct range mapping
Matxin machine translation
✓ Should fail because of wrong key
Template translation
✓ should not translate the fragement contents.
Yandex machine translation with corrupted result
✓ Should sanitize the MT output
Yandex machine translation
✓ Should fail because of wrong key
Youdao machine translation
✓ Should fail because of wrong key
MWPageLoader tests
✓ Test: Add data-section-number attribute to every CX section
Section wrap tests
✓ should parse correctly when section has common pattern of elements
✓ should extract correct number of categories when section has common pattern of elements
✓ should parse correctly when section has categories to be extracted
✓ should extract correct number of categories when section has categories to be extracted
✓ should parse correctly when content has nested sections and tricky transclusion context
✓ should extract correct number of categories when content has nested sections and tricky transclusion context
✓ should parse correctly when content has blank template and then an unrelated table
✓ should extract correct number of categories when content has blank template and then an unrelated table
✓ should parse correctly when content is complete page content with html, head tags and body having two templates with fragments
✓ should extract correct number of categories when content is complete page content with html, head tags and body having two templates with fragments
✓ should parse correctly when Content has self closing meta tag
✓ should extract correct number of categories when Content has self closing meta tag
✓ should parse correctly when Content has template fragments and one fragment is a section candidate. Section has categories too
✓ should extract correct number of categories when Content has template fragments and one fragment is a section candidate. Section has categories too
✓ should parse correctly when Content has transclusion and one of its fragment get removed since it is ignorable.
✓ should extract correct number of categories when Content has transclusion and one of its fragment get removed since it is ignorable.
✓ should parse correctly when Content has transclusion and same element is removable templatestyle. So do not remove
✓ should extract correct number of categories when Content has transclusion and same element is removable templatestyle. So do not remove
Title pair tests
✓ should adapt the title when: Corresponding title exist in target language
✓ should adapt the title when: Corresponding title exist in target language
✓ should adapt the title when: Corresponding title exist in target language and given title need normalization
✓ should adapt the title when: Corresponding title does not exist in target language and given title need normalization
✓ should adapt the title when: Corresponding title exist in target language and given title need normalization, has parenthesis
✓ should adapt the title when: Source title is percentage encoded, but should not throw error, should return corresponding title
Title pair tests - batching
✓ should have the queue size 50
Segmentation tests for am
✓ should not have any errors when: Amharic segmentation - basic test
Segmentation tests for en
✓ should not have any errors when: Simple paragraph test
✓ should not have any errors when: Sentence ending with )
✓ should not have any errors when: Exclamation, punctuation test
✓ should not have any errors when: Multiple sentences
✓ should not have any errors when: Multiple sections - div, h1, paragraph
✓ should not have any errors when: Sentence starting with a link
✓ should not have any errors when: Sentence starting with a link and ending with a link
✓ should not have any errors when: Figure
✓ should not have any errors when: References can appear after period without space. Example: Hydrogen is a gas.[1] It is ...
✓ should not have any errors when: References can appear after period without space, repeated. Example: Hydrogen is a gas.[1][2][3] It is ...
✓ should not have any errors when: References can appear inside a sentence. Example: Hydrogen is a gas[1] and it is ...
✓ should not have any errors when: References can appear inside a sentence. Example:Hydrogen's atomic number is one. Hydrogen is a gas[1] and it is ..... Test the flags are reset properly
✓ should not have any errors when: References can appear repeated inside a sentence. Example: Hydrogen is a gas[1][2][3] and it is ...
✓ should not have any errors when: References can appear after period and space. Example: Hydrogen is a gas. [1] It is ...
✓ should not have any errors when: Paragraph from Debian article- repeating references
✓ should not have any errors when: References after closing bracket and period.
✓ should not have any errors when: Three sentences in a single text node
✓ should not have any errors when: Paragraph ending with reference and already having reference in between. The second reference should not be identified as repeating reference. If identified as repeating reference, 7 letters from last word will be missing.
✓ should not have any errors when: Sentences ending with abbreviations
✓ should not have any errors when: link element inside span element
✓ should not have any errors when: Do not break inside of links with abbreviations. Example: Carl E. Wieman. See https://phabricator.wikimedia.org/T99504
✓ should not have any errors when: A non-segmentable text chunk inside a textblock should not mark the whole text chunk non-segmentable
✓ should not have any errors when: Figure-inline segmentation. Do not violate the MediaWiki DOM spec https://www.mediawiki.org/wiki/Specs/HTML#Images
✓ should not have any errors when: Figure-inline inside a transclusions
✓ should not have any errors when: Video tag in figure tag
✓ should not have any errors when: Audio tag in figure tag
✓ should not have any errors when: Audio tag in figure-inline tag
✓ should not have any errors when: Video tag in figure-inline tag
✓ should not have any errors when: Do not segment content inside block templates
✓ should not have any errors when: about attribute alone does not initiate a transclusion context
✓ should not have any errors when: Do not consider style tag with transclusion as block tag
Segmentation tests for de
✓ should not have any errors when: Avoid segmenting inside a transclusion textblock
Segmentation tests for hi
✓ should not have any errors when: Hindi segmentation - basic test
Segmentation tests for hy
✓ should not have any errors when: Armenian segmentation - basic test
Segmentation tests for ja
✓ should not have any errors when: Japanese segmentation - basic test
Segmentation tests for zh
✓ should not have any errors when: Chinese segmentation - basic test
Segmentation tests for pa
✓ should not have any errors when: Punjabi segmentation - basic test
SectionSuggester tests
✓ should extract correct number of categories when undefined
Link Adaptation tests
✓ Basic test (1649ms)
✓ Space in the title
✓ Relative URL
✓ Title with parenthesis
✓ Target title does not exist
✓ Title with translation from Wikidata label
✓ ISBN Link adaptation
Reference adaptation
✓ Adapting a reference with plain text content
✓ Adapting a reference with plain text content, sup tag
✓ Adapting a reference with html content, sup tag
✓ Not adapting a reference with no data-mw.body
✓ Mark the reference adaptation failed when the content defined in template not adapted (2215ms)
✓ Mark the reference adaptation failed when the content defined in template and it is unsupported by CXserver
✓ Partial reference adaptation, when mandatory params are not transferred successfully (6034ms)
Template adaptation
✓ Template with no equivalents (1543ms)
✓ Babel template (1516ms)
✓ Cite web template (2072ms)
✓ Multi-part template for columns (1524ms)
✓ Template with equivalents, but target template data missing, no params mapped (1204ms)
✓ Equivalient template exist, templatedata exists only for source language. Use that as hint for extracting params from template source code in target language (1467ms)
✓ Template with equivalents, but not able to map mandatory params (919ms)
stopping test server
164 passing (58s)
node@thottingal:~/src$ npm start dev
> cxserver@1.2.0 start /home/node/src
> service-runner "dev"
{"name":"servicerunner.heap.rss","hostname":"thottingal","pid":355,"level":10,"message":"gauge:servicerunner.heap.rss:56324096","method":"gauge","value":56324096,"levelPath":"trace/metrics","msg":"gauge:servicerunner.heap.rss:56324096","time":"2021-03-30T05:16:06.934Z","v":0}
{"name":"servicerunner.heap.used","hostname":"thottingal","pid":355,"level":10,"message":"gauge:servicerunner.heap.used:15859184","method":"gauge","value":15859184,"levelPath":"trace/metrics","msg":"gauge:servicerunner.heap.used:15859184","time":"2021-03-30T05:16:06.936Z","v":0}
{"name":"servicerunner.heap.total","hostname":"thottingal","pid":355,"level":10,"message":"gauge:servicerunner.heap.total:34951168","method":"gauge","value":34951168,"levelPath":"trace/metrics","msg":"gauge:servicerunner.heap.total:34951168","time":"2021-03-30T05:16:06.936Z","v":0}
{"name":"cxserver","hostname":"thottingal","pid":355,"level":20,"levelPath":"debug","msg":"Found 309 languages from the configuration","time":"2021-03-30T05:16:07.222Z","v":0}
{"name":"cxserver","hostname":"thottingal","pid":355,"level":20,"levelPath":"debug","msg":"Found 7 MT providers","time":"2021-03-30T05:16:07.235Z","v":0}
{"name":"cxserver","hostname":"thottingal","pid":355,"level":20,"levelPath":"debug","msg":"Found 2 dictionary providers","time":"2021-03-30T05:16:07.235Z","v":0}
{"name":"cxserver","hostname":"thottingal","pid":355,"level":20,"levelPath":"debug","msg":"Found 309 languages from the configuration","time":"2021-03-30T05:16:07.278Z","v":0}
{"name":"cxserver","hostname":"thottingal","pid":355,"level":20,"levelPath":"debug","msg":"Found 7 MT providers","time":"2021-03-30T05:16:07.281Z","v":0}
{"name":"cxserver","hostname":"thottingal","pid":355,"level":20,"levelPath":"debug","msg":"Found 2 dictionary providers","time":"2021-03-30T05:16:07.281Z","v":0}
{"name":"cxserver","hostname":"thottingal","pid":355,"level":30,"levelPath":"info","msg":"Worker 355 listening on http://0.0.0.0:8080","time":"2021-03-30T05:16:07.290Z","v":0}
{"name":"servicerunner.gc.minor","hostname":"thottingal","pid":355,"level":10,"message":"gauge:servicerunner.gc.minor:0.0037253570000000003","method":"gauge","value":0.0037253570000000003,"levelPath":"trace/metrics","msg":"gauge:servicerunner.gc.minor:0.0037253570000000003","time":"2021-03-30T05:16:07.989Z","v":0}
{"name":"servicerunner.gc.major","hostname":"thottingal","pid":355,"level":10,"message":"gauge:servicerunner.gc.major:0.007111149000000001","method":"gauge","value":0.007111149000000001,"levelPath":"trace/metrics","msg":"gauge:servicerunner.gc.major:0.007111149000000001","time":"2021-03-30T05:16:07.990Z","v":0}
{"name":"servicerunner.gc.incremental","hostname":"thottingal","pid":355,"level":10,"message":"gauge:servicerunner.gc.incremental:0.000134212","method":"gauge","value":0.000134212,"levelPath":"trace/metrics","msg":"gauge:servicerunner.gc.incremental:0.000134212","time":"2021-03-30T05:16:07.990Z","v":0}
{"name":"servicerunner.gc.major","hostname":"thottingal","pid":355,"level":10,"message":"gauge:servicerunner.gc.major:0.006876584000000001","method":"gauge","value":0.006876584000000001,"levelPath":"trace/metrics","msg":"gauge:servicerunner.gc.major:0.006876584000000001","time":"2021-03-30T05:16:15.992Z","v":0}
{"name":"servicerunner.gc.incremental","hostname":"thottingal","pid":355,"level":10,"message":"gauge:servicerunner.gc.incremental:0.00006906800000000001","method":"gauge","value":0.00006906800000000001,"levelPath":"trace/metrics","msg":"gauge:servicerunner.gc.incremental:0.00006906800000000001","time":"2021-03-30T05:16:15.992Z","v":0}
{"name":"servicerunner.gc.major","hostname":"thottingal","pid":355,"level":10,"message":"gauge:servicerunner.gc.major:0.001368623","method":"gauge","value":0.001368623,"levelPath":"trace/metrics","msg":"gauge:servicerunner.gc.major:0.001368623","time":"2021-03-30T05:16:16.991Z","v":0}
{"name":"servicerunner.gc.incremental","hostname":"thottingal","pid":355,"level":10,"message":"gauge:servicerunner.gc.incremental:0.000048132000000000006","method":"gauge","value":0.000048132000000000006,"levelPath":"trace/metrics","msg":"gauge:servicerunner.gc.incremental:0.000048132000000000006","time":"2021-03-30T05:16:16.991Z","v":0}
^Z
[1]+ Stopped npm start dev
node@thottingal:~/src$ curl -s -i localhost:8080/v2?doc
^C
node@thottingal:~/src$ fg
npm start dev
{"name":"cxserver","hostname":"thottingal","pid":355,"level":10,"msg":"incoming request","request_id":"2b74ead0-9117-11eb-ba6b-c12f7440472d","request":{"url":"/v2?doc","headers":{"user-agent":"curl/7.64.0","x-request-id":"2b74ead0-9117-11eb-ba6b-c12f7440472d"},"method":"GET","params":{"0":"/v2"},"query":{"doc":""},"remoteAddress":"127.0.0.1","remotePort":39090},"levelPath":"trace/req","time":"2021-03-30T05:17:06.430Z","v":0}
{"name":"servicerunner.router.v2.GET.200","hostname":"thottingal","pid":355,"level":10,"message":"timing:servicerunner.router.v2.GET.200:6","method":"timing","value":6,"levelPath":"trace/metrics","msg":"timing:servicerunner.router.v2.GET.200:6","time":"2021-03-30T05:17:06.437Z","v":0}
{"name":"cxserver","hostname":"thottingal","pid":355,"level":60,"err":{"message":"","name":"Error","stack":"Error: Invalid number of arguments\n at exports.getLabels (/home/node/src/node_modules/prom-client/lib/util.js:48:9)\n at Histogram.labels (/home/node/src/node_modules/prom-client/lib/histogram.js:147:18)\n at PrometheusMetric.observe (/home/node/src/node_modules/service-runner/lib/metrics/prometheus.js:66:28)\n at PrometheusMetric.timing (/home/node/src/node_modules/service-runner/lib/metrics/prometheus.js:85:14)\n at PrometheusMetric.endTiming (/home/node/src/node_modules/service-runner/lib/metrics/prometheus.js:90:14)\n at metrics.map (/home/node/src/node_modules/service-runner/lib/metrics/metric.js:79:49)\n at Array.map (<anonymous>)\n at Metric.endTiming (/home/node/src/node_modules/service-runner/lib/metrics/metric.js:79:26)\n at BBPromise.try.catch.finally (/home/node/src/lib/util.js:149:14)\n at PassThroughHandlerContext.finallyHandler (/home/node/src/node_modules/bluebird/js/release/finally.js:56:23)\n at PassThroughHandlerContext.tryCatcher (/home/node/src/node_modules/bluebird/js/release/util.js:16:23)\n at Promise._settlePromiseFromHandler (/home/node/src/node_modules/bluebird/js/release/promise.js:547:31)\n at Promise._settlePromise (/home/node/src/node_modules/bluebird/js/release/promise.js:604:18)\n at Promise._settlePromise0 (/home/node/src/node_modules/bluebird/js/release/promise.js:649:10)\n at Promise._settlePromises (/home/node/src/node_modules/bluebird/js/release/promise.js:729:18)\n at Promise._fulfill (/home/node/src/node_modules/bluebird/js/release/promise.js:673:18)","levelPath":"fatal/service-runner/unhandled"},"msg":"Invalid number of arguments","time":"2021-03-30T05:17:06.439Z","v":0}
{"name":"servicerunner.heap.rss","hostname":"thottingal","pid":355,"level":10,"message":"gauge:servicerunner.heap.rss:62894080","method":"gauge","value":62894080,"levelPath":"trace/metrics","msg":"gauge:servicerunner.heap.rss:62894080","time":"2021-03-30T05:17:06.937Z","v":0}
{"name":"servicerunner.heap.used","hostname":"thottingal","pid":355,"level":10,"message":"gauge:servicerunner.heap.used:23213736","method":"gauge","value":23213736,"levelPath":"trace/metrics","msg":"gauge:servicerunner.heap.used:23213736","time":"2021-03-30T05:17:06.937Z","v":0}
{"name":"servicerunner.heap.total","hostname":"thottingal","pid":355,"level":10,"message":"gauge:servicerunner.heap.total:29196288","method":"gauge","value":29196288,"levelPath":"trace/metrics","msg":"gauge:servicerunner.heap.total:29196288","time":"2021-03-30T05:17:06.937Z","v":0}