debug kibana in chrome

kibana5.6.5版本

在kibana根目录运行命令:NODE_OPTIONS='--inspect --debug' npm start

也可以尝试命令:NODE_OPTIONS="--debug-brk --inspect'  npm start

npm start 可替换为 ./bin/kibana 或 ${project_dir}/src/cli

最后一个端口为5860的url

下面是命令执行后的日志:

caocy@ubuntu1:~/workspace/kibana-5.6.5$ NODE_OPTIONS='--inspect --debug' npm start

> kibana@5.6.5 start /home/caocy/workspace/kibana-5.6.5
> sh ./bin/kibana --dev

Debugger listening on port 9229.
Warning: This is an experimental feature and could change at any time.
To start debugging, open the following URL in Chrome:
    chrome-devtools://devtools/remote/serve_file/@60cd6e859b9f557d2312f5bf532f6aec5f284980/inspector.html?experiments=true&v8only=true&ws=127.0.0.1:9229/32809f53-3135-4523-9a5c-e5d36770bba0
 watching for changes  (407 files)
Debugger listening on port 5859.
Warning: This is an experimental feature and could change at any time.
To start debugging, open the following URL in Chrome:
    chrome-devtools://devtools/remote/serve_file/@60cd6e859b9f557d2312f5bf532f6aec5f284980/inspector.html?experiments=true&v8only=true&ws=127.0.0.1:5859/7877c417-38a6-470c-9b2e-77428acff5bf
Debugger listening on port 5860.
Warning: This is an experimental feature and could change at any time.
To start debugging, open the following URL in Chrome:
    chrome-devtools://devtools/remote/serve_file/@60cd6e859b9f557d2312f5bf532f6aec5f284980/inspector.html?experiments=true&v8only=true&ws=127.0.0.1:5860/1b36300a-30dd-4909-96f1-750c3fb8f7eb
  log   [04:08:49.225] [info][listening] basePath Proxy running at https://0.0.0.0:5701/dhe
optmzr    log   [04:08:53.402] [info][status][ui settings] Status changed from uninitialized to disabled - uiSettings.enabled config is set to `false`
optmzr    log   [04:08:54.713] [info][optimize] Lazy optimization of bundles for kibana, stateSessionStorageRedirect, timelion, sense-tests and status_page ready
server    log   [04:08:54.747] [info][optimize] Waiting for optimizer completion
optmzr    log   [04:08:54.771] [info][optimize] Lazy optimization started
optmzr    log   [04:08:54.801] [info] Plugin initialization disabled.
server    log   [04:08:54.885] [info][status][plugin:kibana@5.6.5] Status changed from uninitialized to green - Ready
server    log   [04:08:55.139] [info][status][plugin:elasticsearch@5.6.5] Status changed from uninitialized to yellow - Waiting for Elasticsearch
server    log   [04:08:55.220] [info][status][plugin:console@5.6.5] Status changed from uninitialized to green - Ready
server    log   [04:08:55.294] [info][status][plugin:metrics@5.6.5] Status changed from uninitialized to green - Ready
server    log   [04:08:55.341] [info][status][plugin:elasticsearch@5.6.5] Status changed from yellow to green - Kibana index ready
server    log   [04:08:55.871] [info][status][plugin:timelion@5.6.5] Status changed from uninitialized to green - Ready
server    log   [04:08:55.880] [info][listening] Server running at https://0.0.0.0:5603
server    log   [04:08:55.883] [info][status][ui settings] Status changed from uninitialized to green - Ready
optmzr    log   [04:09:49.859] [info][optimize] Lazy optimization success in 55.08 seconds
View Code

 

 Debugging Node.js with Chrome DevTools:

Support for Node.js debuggability landed in Node.js in 2016. Here’s how to get up and running. (Post updated Jan 2018)

1. Download and install the current version of node. (v6.3.0+ required)

2. Run node with the --inspect flag:

node --inspect index.js

# Break on the first statement of the script with --inspect-brk
node --inspect-brk index.js

(In Node 6, you have to use --inspect --debug-brk for this inspect & pseudo-breakpoint combo.)

Next, you used to open the big chrome-devtools:// URL it spits out, but don’t. Now there’s a better way…

3. Open about:inspect in Chrome

It’ll redirect you to chrome://inspect quickly and you’ll see something like:

set targets:

 

4. Click the Open dedicated DevTools for Node link.

You’ll get a popup window for debugging your node session.

But better than that, when you kill and restart node, the window will automatically reconnect to it. 🔁🔁💥

(Btw: the inspect link beneath the specific target will only apply for that session of node and won’t reconnect.)

点击connection,连接IP:5860,切换到sources

 

In DevTools, now connected to Node, you’ll have all the Chrome DevTools features you’re used to:

  • Complete breakpoint debugging, stepping w/ blackboxing
  • Source maps for transpiled code
  • LiveEdit: JavaScript hot-swap evaluation w/ V8
  • Console evaluation with ES6 feature/object support and custom object formatting
  • Sampling JavaScript profiler w/ flamechart
  • Heap snapshot inspection, heap allocation timeline, allocation profiling
  • Asynchronous stacks for native promises

To see this in action, here’s my demo during the 2017 Node Summit:


Lastly, there is now official documentation on debugging Node with the new protocol: https://nodejs.org/en/docs/inspector/

 

posted @ 2018-02-22 11:53  安云  阅读(386)  评论(0编辑  收藏  举报