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

docs: add quickstart code example #2365

Merged
merged 4 commits into from Jul 26, 2021
Merged
Changes from 1 commit
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Jump to
Jump to file
Failed to load files.
Diff view
Diff view
47 changes: 46 additions & 1 deletion README.md
Expand Up @@ -71,7 +71,52 @@ The current version for each package can be found in the respective `package.jso

### Application Owner

To get started tracing your own application, see the [Getting Started Guide](getting-started/README.md). For more information about automatic instrumentation see [@opentelemetry/node][otel-node], which provides auto-instrumentation for Node.js applications. If the automatic instrumentation does not suit your needs, or you would like to create manual traces, see [@opentelemetry/tracing][otel-tracing]
#### Install Dependencies

```shell
npm install --save @opentelemetry/api
npm install --save @opentelemetry/node
npm install --save @opentelemetry/tracing
npm install --save @opentelemetry/auto-instrumentations-node
```

#### Instantiate Tracing

```js
// tracing.js

'use strict'

const { getNodeAutoInstrumentations } = require("@opentelemetry/auto-instrumentations-node");
dyladan marked this conversation as resolved.
Show resolved Hide resolved
dyladan marked this conversation as resolved.
Show resolved Hide resolved
const { registerInstrumentations } = require('@opentelemetry/instrumentation')
const { ConsoleSpanExporter, SimpleSpanProcessor } = require('@opentelemetry/tracing')
const { NodeTracerProvider } = require('@opentelemetry/node')
const { Resource } = require('@opentelemetry/resources');
const { ResourceAttributes } = require('@opentelemetry/semantic-conventions');
dyladan marked this conversation as resolved.
Show resolved Hide resolved

const exporter = new ConsoleSpanExporter();
const provider = new NodeTracerProvider({
resource: new Resource({
[ResourceAttributes.SERVICE_NAME]: 'my-service',
dyladan marked this conversation as resolved.
Show resolved Hide resolved
}),
});
provider.addSpanProcessor(new SimpleSpanProcessor(exporter));
provider.register();
dyladan marked this conversation as resolved.
Show resolved Hide resolved

registerInstrumentations({
dyladan marked this conversation as resolved.
Show resolved Hide resolved
instrumentations: [
getNodeAutoInstrumentations(),
],
});
```

#### Run Your Application

```shell
node -r ./tracing.js app.js
```

The above example will emit auto-instrumented telemetry about your application to the console. For a more in-depth example, see the [Getting Started Guide](getting-started/README.md). For more information about automatic instrumentation see [@opentelemetry/node][otel-node], which provides auto-instrumentation for Node.js applications. If the automatic instrumentation does not suit your needs, or you would like to create manual traces, see [@opentelemetry/tracing][otel-tracing]

### Library Author

Expand Down