Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

doc: update README.md #706

Merged
merged 2 commits into from
Mar 30, 2018
Merged

doc: update README.md #706

merged 2 commits into from
Mar 30, 2018

Conversation

kjin
Copy link
Contributor

@kjin kjin commented Mar 29, 2018

This PR updates the README. Some information are out of date, and some are duplicated with the Setting Up Stackdriver Trace for Node.js doc. In general, I also felt like the README was a little bloated, so I have cut it down and re-arranged some sections.

@googlebot googlebot added the cla: yes This human has signed the Contributor License Agreement. label Mar 29, 2018
@codecov
Copy link

codecov bot commented Mar 29, 2018

Codecov Report

Merging #706 into master will not change coverage.
The diff coverage is n/a.

Impacted file tree graph

@@           Coverage Diff           @@
##           master     #706   +/-   ##
=======================================
  Coverage   90.77%   90.77%           
=======================================
  Files          29       29           
  Lines        1485     1485           
  Branches      293      293           
=======================================
  Hits         1348     1348           
  Misses         57       57           
  Partials       80       80

Continue to review full report at Codecov.

Legend - Click here to learn more
Δ = absolute <relative> (impact), ø = not affected, ? = missing data
Powered by Codecov. Last update f070636...58f913a. Read the comment docs.

README.md Outdated
This is the trace list that shows a sampling of the incoming requests your application is receiving. You can click on a URI to drill down into the details. This will show you the RPCs made by your application and their associated latency:

![Trace View](doc/images/traceview.png?raw=true)
> **Note**: If you source code contains untranspiled [`async/await`][async-await-docs] (introduced in Node 7.6), please see [this section](#tracing-with-async/await) on enabling experimental tracing for `async` functions.

This comment was marked as spam.

README.md Outdated
* [hapi](https://www.npmjs.com/package/hapi) (versions 8 - 16)
* [koa](https://www.npmjs.com/package/koa) (version 1)
* [restify](https://www.npmjs.com/package/restify) (versions 3 - 6)

The agent will also automatic trace of the following kinds of RPCs:
The agent will also automatically trace RPCs from the following modules:
* Outbound HTTP requests through the `http` and `https` core modules

This comment was marked as spam.

README.md Outdated

This method, which relies on [async-listener][] to preserve continuations over asynchronous boundaries, works great in most cases. However, it does have some limitations that can prevent us from being able to properly propagate trace context:
* It is possible that a module does its own queuing of callback functions – effectively merging asynchronous execution contexts. For example, one may write a http request buffering library that queues requests and then performs them in a batch in one shot. In such a case, when all the callbacks fire, they will execute in the context which flushed the queue instead of the context which added the callbacks to the queue. This problem is called the pooling problem or the [user-space queuing problem][queuing-problem], and is a fundamental limitation of JavaScript. If your application uses such code, you will notice that RPCs from many requests are showing up under a single trace, or that certain portions of your outbound RPCs do not get traced. In such cases we try to work around the problem through monkey patching, or by working with the library authors to fix the code to properly propagate context. However, finding problematic code is not always trivial.

This comment was marked as spam.

1. Your application will need to be using Node.js version 4.0 or greater.
1. You will need a project in the [Google Developers Console][cloud-console]. Your application can run anywhere, but the trace data is associated with a particular project.
1. [Enable the Trace API](https://console.cloud.google.com/flows/enableapi?apiid=cloudtrace) for your project.
The Trace Agent supports Node 4+.

This comment was marked as spam.

This comment was marked as spam.

This comment was marked as spam.

@kjin kjin merged commit 53d2b96 into googleapis:master Mar 30, 2018
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
cla: yes This human has signed the Contributor License Agreement.
Projects
None yet
Development

Successfully merging this pull request may close these issues.

4 participants