Skip to content

Commit 3898b11

Browse files
henrinormakrauno56
andauthored
feat: add dataloader instrumentation (open-telemetry#1171)
* feat: add dataloader instrumentation * fix: linter errors and a few mistypings * docs: add component_owners entry for dataloader instrumentation * fix: avoid double shimming of the batch load function * test: cover more lines in tests * refactor: remove prefix from directory name * feat: add configuration option for requiring parent span * chore: drop version number to 0.1.0 * chore: add dataloader instrumentation to release-please-config * feat: add dataloader instrumentation to auto-instrumentations-node * fix: use correct version of Node * fix: add missing export Also make instrumentation export explicit * test: adjust assertion to be correct * chore: change node types to be consistent with other plugins Co-authored-by: Rauno Viskus <Rauno56@users.noreply.github.com>
1 parent d932d3e commit 3898b11

19 files changed

Lines changed: 955 additions & 1 deletion

File tree

.github/component_owners.yml

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -18,6 +18,8 @@ components:
1818
- willarmiros
1919
plugins/node/instrumentation-amqplib:
2020
- blumamir
21+
plugins/node/instrumentation-dataloader:
22+
- henrinormak
2123
plugins/node/instrumentation-fs:
2224
- rauno56
2325
plugins/node/instrumentation-tedious:

metapackages/auto-instrumentations-node/README.md

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -60,6 +60,7 @@ registerInstrumentations({
6060
- [@opentelemetry/instrumentation-bunyan](https://github.com/open-telemetry/opentelemetry-js-contrib/tree/main/plugins/node/opentelemetry-instrumentation-bunyan)
6161
- [@opentelemetry/instrumentation-cassandra-driver](https://github.com/open-telemetry/opentelemetry-js-contrib/tree/main/plugins/node/opentelemetry-instrumentation-cassandra)
6262
- [@opentelemetry/instrumentation-connect](https://github.com/open-telemetry/opentelemetry-js-contrib/tree/main/plugins/node/opentelemetry-instrumentation-connect)
63+
- [@opentelemetry/instrumentation-dataloader](https://github.com/open-telemetry/opentelemetry-js-contrib/tree/main/plugins/node/instrumentation-dataloader)
6364
- [@opentelemetry/instrumentation-dns](https://github.com/open-telemetry/opentelemetry-js-contrib/tree/main/plugins/node/opentelemetry-instrumentation-dns)
6465
- [@opentelemetry/instrumentation-http](https://github.com/open-telemetry/opentelemetry-js/tree/main/experimental/packages/opentelemetry-instrumentation-http)
6566
- [@opentelemetry/instrumentation-grpc](https://github.com/open-telemetry/opentelemetry-js/tree/main/experimental/packages/opentelemetry-instrumentation-grpc)

metapackages/auto-instrumentations-node/package.json

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -53,6 +53,7 @@
5353
"@opentelemetry/instrumentation-bunyan": "^0.30.0",
5454
"@opentelemetry/instrumentation-cassandra-driver": "^0.30.0",
5555
"@opentelemetry/instrumentation-connect": "^0.30.0",
56+
"@opentelemetry/instrumentation-dataloader": "^0.1.0",
5657
"@opentelemetry/instrumentation-dns": "^0.30.0",
5758
"@opentelemetry/instrumentation-express": "^0.31.1",
5859
"@opentelemetry/instrumentation-fastify": "^0.29.0",

metapackages/auto-instrumentations-node/src/utils.ts

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -22,6 +22,7 @@ import { AwsInstrumentation } from '@opentelemetry/instrumentation-aws-sdk';
2222
import { BunyanInstrumentation } from '@opentelemetry/instrumentation-bunyan';
2323
import { CassandraDriverInstrumentation } from '@opentelemetry/instrumentation-cassandra-driver';
2424
import { ConnectInstrumentation } from '@opentelemetry/instrumentation-connect';
25+
import { DataloaderInstrumentation } from '@opentelemetry/instrumentation-dataloader';
2526
import { DnsInstrumentation } from '@opentelemetry/instrumentation-dns';
2627
import { ExpressInstrumentation } from '@opentelemetry/instrumentation-express';
2728
import { FastifyInstrumentation } from '@opentelemetry/instrumentation-fastify';
@@ -56,6 +57,7 @@ const InstrumentationMap = {
5657
'@opentelemetry/instrumentation-cassandra-driver':
5758
CassandraDriverInstrumentation,
5859
'@opentelemetry/instrumentation-connect': ConnectInstrumentation,
60+
'@opentelemetry/instrumentation-dataloader': DataloaderInstrumentation,
5961
'@opentelemetry/instrumentation-dns': DnsInstrumentation,
6062
'@opentelemetry/instrumentation-express': ExpressInstrumentation,
6163
'@opentelemetry/instrumentation-fastify': FastifyInstrumentation,

metapackages/auto-instrumentations-node/test/utils.test.ts

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -31,6 +31,7 @@ describe('utils', () => {
3131
'@opentelemetry/instrumentation-bunyan',
3232
'@opentelemetry/instrumentation-cassandra-driver',
3333
'@opentelemetry/instrumentation-connect',
34+
'@opentelemetry/instrumentation-dataloader',
3435
'@opentelemetry/instrumentation-dns',
3536
'@opentelemetry/instrumentation-express',
3637
'@opentelemetry/instrumentation-fastify',
@@ -57,7 +58,7 @@ describe('utils', () => {
5758
'@opentelemetry/instrumentation-restify',
5859
'@opentelemetry/instrumentation-winston',
5960
];
60-
assert.strictEqual(instrumentations.length, 31);
61+
assert.strictEqual(instrumentations.length, 32);
6162
for (let i = 0, j = instrumentations.length; i < j; i++) {
6263
assert.strictEqual(
6364
instrumentations[i].instrumentationName,
Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
build
Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,7 @@
1+
module.exports = {
2+
"env": {
3+
"mocha": true,
4+
"node": true
5+
},
6+
...require('../../../eslint.config.js'),
7+
}
Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,4 @@
1+
/bin
2+
/coverage
3+
/doc
4+
/test
Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,4 @@
1+
dataloader:
2+
# Testing ^2.0.0 covers about 90% of the downloaded versions
3+
versions: "^2.0.0"
4+
commands: npm run test
Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
# Changelog

0 commit comments

Comments
 (0)