Skip to content

Commit 83c7fa3

Browse files
authored
docs(auto-instrumentations-node): improved readme (open-telemetry#563)
1 parent 52b46aa commit 83c7fa3

File tree

1 file changed

+27
-6
lines changed
  • metapackages/auto-instrumentations-node

1 file changed

+27
-6
lines changed

metapackages/auto-instrumentations-node/README.md

+27-6
Original file line numberDiff line numberDiff line change
@@ -5,35 +5,43 @@
55
[![devDependencies][devDependencies-image]][devDependencies-url]
66
[![Apache License][license-image]][license-url]
77

8+
This module provides a simple way to initialize multiple Node instrumentations.
9+
810
## Installation
911

1012
```bash
1113
npm install --save @opentelemetry/auto-instrumentations-node
1214
```
1315

1416
## Usage
17+
OpenTelemetry Meta Packages for Node automatically loads instrumentations for Node builtin modules and common packages.
18+
19+
Custom configuration for each of the instrumentations can be passed to the function, by providing an object with the name of the instrumentation as a key, and its configuration as the value.
1520

1621
```javascript
1722
const { NodeTracerProvider } = require('@opentelemetry/node');
1823
const { getNodeAutoInstrumentations } = require('@opentelemetry/auto-instrumentations-node');
1924
const { CollectorTraceExporter } = require('@opentelemetry/exporter-collector');
25+
const { Resource } = require('@opentelemetry/resources');
26+
const { ResourceAttributes } = require('@opentelemetry/semantic-conventions');
2027
const { SimpleSpanProcessor } = require('@opentelemetry/tracing');
2128
const { registerInstrumentations } = require('@opentelemetry/instrumentation');
2229

23-
const exporter = new CollectorTraceExporter({
24-
serviceName: 'auto-instrumentations-node',
30+
const exporter = new CollectorTraceExporter();
31+
const provider = new NodeTracerProvider({
32+
resource: new Resource({
33+
[ResourceAttributes.SERVICE_NAME]: 'basic-service',
34+
}),
2535
});
26-
27-
const provider = new NodeTracerProvider();
2836
provider.addSpanProcessor(new SimpleSpanProcessor(exporter));
2937
provider.register();
3038

3139
registerInstrumentations({
3240
instrumentations: [
3341
getNodeAutoInstrumentations({
3442
// load custom configuration for http instrumentation
35-
"@opentelemetry/instrumentation-http": {
36-
applyCustomAttributesOnSpan: (span)=> {
43+
'@opentelemetry/instrumentation-http': {
44+
applyCustomAttributesOnSpan: (span) => {
3745
span.setAttribute('foo2', 'bar2');
3846
},
3947
},
@@ -42,6 +50,19 @@ registerInstrumentations({
4250
});
4351

4452
```
53+
## Supported instrumentations
54+
55+
- [@opentelemetry/instrumentation-dns](https://github.com/open-telemetry/opentelemetry-js-contrib/tree/main/plugins/node/opentelemetry-instrumentation-dns)
56+
- [@opentelemetry/instrumentation-http](https://github.com/open-telemetry/opentelemetry-js/tree/main/packages/opentelemetry-instrumentation-http)
57+
- [@opentelemetry/instrumentation-grpc](https://github.com/open-telemetry/opentelemetry-js/tree/main/packages/opentelemetry-instrumentation-grpc)
58+
- [@opentelemetry/instrumentation-express](https://github.com/open-telemetry/opentelemetry-js-contrib/tree/main/plugins/node/opentelemetry-instrumentation-express)
59+
- [@opentelemetry/instrumentation-koa](https://github.com/open-telemetry/opentelemetry-js-contrib/tree/main/plugins/node/opentelemetry-instrumentation-koa)
60+
- [@opentelemetry/instrumentation-graphql](https://github.com/open-telemetry/opentelemetry-js-contrib/tree/main/plugins/node/opentelemetry-instrumentation-graphql)
61+
- [@opentelemetry/instrumentation-ioredis](https://github.com/open-telemetry/opentelemetry-js-contrib/tree/main/plugins/node/opentelemetry-instrumentation-ioredis)
62+
- [@opentelemetry/instrumentation-redis](https://github.com/open-telemetry/opentelemetry-js-contrib/tree/main/plugins/node/opentelemetry-instrumentation-redis)
63+
- [@opentelemetry/instrumentation-pg](https://github.com/open-telemetry/opentelemetry-js-contrib/tree/main/plugins/node/opentelemetry-instrumentation-pg)
64+
- [@opentelemetry/instrumentation-mongodb](https://github.com/open-telemetry/opentelemetry-js-contrib/tree/main/plugins/node/opentelemetry-instrumentation-mongodb)
65+
- [@opentelemetry/instrumentation-mysql](https://github.com/open-telemetry/opentelemetry-js-contrib/tree/main/plugins/node/opentelemetry-instrumentation-mysql)
4566

4667
## Useful links
4768

0 commit comments

Comments
 (0)