2 Star 0 Fork 0

mirrors_sourcegraph/lightstep-tracer-javascript

加入 Gitee
与超过 1200万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
克隆/下载
贡献代码
同步代码
取消
提示: 由于 Git 不支持空文件夾,创建文件夹后会生成空的 .keep 文件
Loading...
README
MIT

lightstep-tracer

npm version Circle CI MIT license

LightStep distributed tracing library for Node.js and the browser.

Installation

npm install --save lightstep-tracer opentracing

All modern browsers and Node versions >= 0.12 are supported.

Getting started

To use LightStep as the OpenTracing binding, initialize the global Tracer with the LightStep implementation:

var opentracing = require('opentracing');
var lightstep   = require('lightstep-tracer');

opentracing.initGlobalTracer(new lightstep.Tracer({
    access_token   : '{your_access_token}',
    component_name : '{your_service_or_app_name}',
}));

The LightStep JavaScript Tracing Cookbook is a good next stop for information on how to quickly instrument your system. If you want to try something out quickly in your browser code, see the browser quick start example.

The browser version of the code can be explicitly included using the following, which can be helpful in some browserify (or similar) setups:

var lightstep = require('lightstep-tracer/browser');

LightStep-specific API

The OpenTracing standard JavaScript API is documented here. The following describes LightStep-specific options and methods.

LightStep


new Tracer(options)

Required options

  • access_token string required - the project access token
  • component_name string required - the string identifier for the application, service, or process

Standard options

  • verbosity number optional, default=1 - controls the level of logging to the console
    • 0 - the client library will never log to the console
    • 1 - error reporting will be throttled to the first error per minute
    • 2 - all errors are logged to the console
    • 3 - all errors, warnings, and info statements are logged to the console
    • 4 - all log statements, including debugging details
  • collector_host string optional - custom collector hostname
  • collector_port number optional - custom collector port
  • collector_path string optional - custom collector base path (if served behind a reverse proxy)
  • collector_encryption string optional, default='tls'
    • tls - use HTTPS encrypted connections
    • none - use HTTP plain-text connections

Browser-specific initialization options

  • instrument_page_load bool - creates a long-lived single span for the entire page view and is recommended for short-page visits in a multi-page website. For a single-page web app, this behavior may be undesirable. Defaults to false. This must be set at initialization, changes after initialization will have no effect.

  • xhr_instrumentation bool - if false, disables automatic instrumentation of XMLHttpRequests (XHRs). This must be set at initialization; changes after initialization will have no effect. Defaults to false.

  • xhr_url_inclusion_patterns RegExp[] - an array of regular expressions used to whitelist URLs for XMLHttpRequest auto-instrumentation. The default value is wildcard matching all strings. For a given URL to be instrumented, it must match at least one regular expression in xhr_url_inclusion_patterns and not match any regular expressions in xhr_url_exclusion_patterns.

  • xhr_url_exclusion_patterns RegExp[] - an array of regular expressions used to exclude URLs from XMLHttpRequest auto-instrumentation. The default value is an empty array. For a given URL to be instrumented, it must match at least one regular expression in xhr_url_inclusion_patterns and not match any regular expressions in xhr_url_exclusion_patterns.

Non-standard options

NOTE: Future API compatibility on non-standard options is not guaranteed.

  • disable_reporting_loop bool optional, default=false - if true, the timer that automatically sends reports to the collector will be disabled. This option is independent of disable_report_on_exit.
  • disable_report_on_exit bool optional, default=false - if true, the final report that is automatically sent at process exit in Node or page unload in the browser will not be sent.
  • report_timeout_millis number optional, default=30000 - the default timeout value, in milliseconds, for reports to the LightStep collector
  • gzip_json_requests bool optional, default=true - if true, the reports will be gzipped before sent to the collector.
  • default_span_tags string optional - an associative array of tags to add to every span started by the tracer (e.g., the active user id in a browser client)
  • delay_initial_report_millis int optional, default=1000 - maximum additional delay of the initial report in addition to the normal reporting interval. A value between zero and this maximum will be selected as the actual delay. This can be useful when concurrently launching a large number of new processes and there is a desire to distribute the initial reports over a window of time.
  • error_throttle_millis int optional, default=60000 - when verbosity is set to 1, this the minimum time between logged errors.
  • transport string optional, default=thrift - when transport is set to proto, the Tracer will use Proto over HTTP as a transport rather than Thrift. ALWAYS THRIFT. GOOGLE PROTOBUFFERS USE eval() SO CANNOT RUN IN BROWSER EXTENSIONS: https://github.com/lightstep/lightstep-tracer-javascript/issues/141

SpanImp


generateTraceURL()

Returns an absolute URL to the LightStep application for the trace containing this span. It is safe to call this method after finish().

...
span.finish();

var url = span.generateTraceURL())
console.log('View the trace for this span at:', url);

License

The MIT License.

Copyright (c) 2016, LightStep

The MIT License (MIT) Copyright (c) 2015-2016 LightStep Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.

简介

LightStep distributed tracing library for Node.js and the browser 展开 收起
README
MIT
取消

发行版

暂无发行版

贡献者

全部

近期动态

不能加载更多了
马建仓 AI 助手
尝试更多
代码解读
代码找茬
代码优化
1
https://gitee.com/mirrors_sourcegraph/lightstep-tracer-javascript.git
git@gitee.com:mirrors_sourcegraph/lightstep-tracer-javascript.git
mirrors_sourcegraph
lightstep-tracer-javascript
lightstep-tracer-javascript
master

搜索帮助