Skip to content

Commit 52fbade

Browse files
authored
Add service.name label (#141)
* Add service name label * Update Yarn.lock * Resolve warning about node:path * Bump Otel dependencies * Update tests to work with new Otel packages * Lazily initialize default build info values and create test for them * Formatting
1 parent 1468d20 commit 52fbade

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

42 files changed

+893
-4613
lines changed

.github/workflows/ci.yml

+3
Original file line numberDiff line numberDiff line change
@@ -26,6 +26,9 @@ jobs:
2626
- name: Run linter and format checker
2727
run: just lint
2828

29+
- name: Install dependencies
30+
run: YARN_ENABLE_IMMUTABLE_INSTALLS=false yarn
31+
2932
- name: Create builds
3033
run: YARN_ENABLE_IMMUTABLE_INSTALLS=false just build-all
3134

.gitignore

+2
Original file line numberDiff line numberDiff line change
@@ -33,8 +33,10 @@ lerna-debug.log*
3333
!.yarn/releases
3434
!.yarn/sdks
3535
!.yarn/versions
36+
deno.lock
3637
node_modules
3738
package-lock.json
39+
yarn.lock
3840

3941
# OS
4042
.DS_Store

README.md

+5-1
Original file line numberDiff line numberDiff line change
@@ -18,13 +18,17 @@ Autometrics provides a wrapper function and decorator to instrument functions, c
1818
## Benefits
1919

2020
-`autometrics()` wrapper / `@Autometrics()` decorator instruments any function or class method to track its most useful metrics
21-
- 🌳 Works in NodeJS and has experimental support for Deno and browser environments
21+
- 🌳 Works in Deno, NodeJS and browser environments [(*)](#known-issues)
2222
- 💡 Writes Prometheus queries so you can understand the data generated without knowing PromQL
2323
- 🔗 Injects links to live Prometheus charts directly into each function's doc
2424
- 🔍 Helps you to [identify commits](https://docs.autometrics.dev/typescript/adding-version-information) that introduced errors or increased latency
2525
- 📊 [Grafana dashboards](https://github.com/autometrics-dev/autometrics-shared#dashboards) work out of the box and visualize the performance of instrumented functions & SLOs
2626
- ⚡ Minimal runtime overhead
2727

28+
### Known issues
29+
30+
- Pushing metrics from client-side and FaaS environments is currently experimental.
31+
2832
## Advanced Features
2933
- 🚨 Allows you to [define alerts](https://docs.autometrics.dev/typescript/adding-alerts-and-slos) using SLO best practices directly in your source code comments
3034

deno.json

+8-7
Original file line numberDiff line numberDiff line change
@@ -5,12 +5,13 @@
55
},
66
"imports": {
77
"$std/": "https://deno.land/[email protected]/",
8-
"$otel/api": "npm:@opentelemetry/api@^1.6.0",
9-
"$otel/core": "npm:@opentelemetry/core@^1.17.0",
10-
"$otel/exporter-metrics-otlp-http": "npm:@opentelemetry/exporter-metrics-otlp-http@^0.43.0",
11-
"$otel/exporter-prometheus": "npm:@opentelemetry/exporter-prometheus@^0.43.0",
12-
"$otel/resources": "npm:@opentelemetry/resources@^1.17.0",
13-
"$otel/sdk-metrics": "npm:@opentelemetry/sdk-metrics@^1.17.0",
8+
"$otel/api": "npm:@opentelemetry/api@^1.7.0",
9+
"$otel/core": "npm:@opentelemetry/core@^1.18.0",
10+
"$otel/exporter-metrics-otlp-http": "npm:@opentelemetry/exporter-metrics-otlp-http@^0.45.0",
11+
"$otel/exporter-prometheus": "npm:@opentelemetry/exporter-prometheus@^0.45.0",
12+
"$otel/resources": "npm:@opentelemetry/resources@^1.18.0",
13+
"$otel/sdk-metrics": "npm:@opentelemetry/sdk-metrics@^1.18.0",
1414
"node-fetch-native": "npm:node-fetch-native@^1.4.1"
15-
}
15+
},
16+
"lock": false
1617
}

deno.lock

-1,566
This file was deleted.

examples/deno-fresh/deno.lock

-477
This file was deleted.

examples/express/package.json

+2-2
Original file line numberDiff line numberDiff line change
@@ -12,8 +12,8 @@
1212
"license": "ISC",
1313
"devDependencies": {
1414
"@autometrics/typescript-plugin": "^0.5.4",
15-
"@opentelemetry/exporter-prometheus": "^0.43.0",
16-
"@opentelemetry/sdk-metrics": "^1.17.0",
15+
"@opentelemetry/exporter-prometheus": "^0.45.0",
16+
"@opentelemetry/sdk-metrics": "^1.18.0",
1717
"@types/express": "^4.17.16",
1818
"@types/node": "^18.6.5",
1919
"typescript": "^5.2.2"

examples/fastify/yarn.lock

+45-88
Original file line numberDiff line numberDiff line change
@@ -9,8 +9,8 @@ __metadata:
99
version: 0.0.0-use.local
1010
resolution: "@autometrics/autometrics@workspace:../../dist/autometrics"
1111
dependencies:
12-
"@opentelemetry/api": ^1.6.0
13-
"@opentelemetry/sdk-metrics": ^1.17.0
12+
"@opentelemetry/api": ^1.7.0
13+
"@opentelemetry/sdk-metrics": ^1.18.0
1414
"@types/node": ^18.6.5
1515
languageName: unknown
1616
linkType: soft
@@ -19,8 +19,8 @@ __metadata:
1919
version: 0.0.0-use.local
2020
resolution: "@autometrics/autometrics@portal:../../dist/autometrics::locator=fastify-example%40workspace%3A."
2121
dependencies:
22-
"@opentelemetry/api": ^1.6.0
23-
"@opentelemetry/sdk-metrics": ^1.17.0
22+
"@opentelemetry/api": ^1.7.0
23+
"@opentelemetry/sdk-metrics": ^1.18.0
2424
languageName: node
2525
linkType: soft
2626

@@ -29,9 +29,9 @@ __metadata:
2929
resolution: "@autometrics/exporter-prometheus@portal:../../dist/exporter-prometheus::locator=fastify-example%40workspace%3A."
3030
dependencies:
3131
"@autometrics/autometrics": 0.8.0-dev
32-
"@opentelemetry/api": ^1.6.0
33-
"@opentelemetry/exporter-prometheus": ^0.43.0
34-
"@opentelemetry/sdk-metrics": ^1.17.0
32+
"@opentelemetry/api": ^1.7.0
33+
"@opentelemetry/exporter-prometheus": ^0.45.0
34+
"@opentelemetry/sdk-metrics": ^1.18.0
3535
languageName: node
3636
linkType: soft
3737

@@ -40,9 +40,9 @@ __metadata:
4040
resolution: "@autometrics/exporter-prometheus@workspace:../../dist/exporter-prometheus"
4141
dependencies:
4242
"@autometrics/autometrics": 0.8.0-dev
43-
"@opentelemetry/api": ^1.6.0
44-
"@opentelemetry/exporter-prometheus": ^0.43.0
45-
"@opentelemetry/sdk-metrics": ^1.17.0
43+
"@opentelemetry/api": ^1.7.0
44+
"@opentelemetry/exporter-prometheus": ^0.45.0
45+
"@opentelemetry/sdk-metrics": ^1.18.0
4646
"@types/node": ^18.6.5
4747
languageName: unknown
4848
linkType: soft
@@ -88,109 +88,66 @@ __metadata:
8888
languageName: node
8989
linkType: hard
9090

91-
"@opentelemetry/api@npm:^1.6.0":
92-
version: 1.6.0
93-
resolution: "@opentelemetry/api@npm:1.6.0"
94-
checksum: 3283b78b62a39f6568eaa050ac7045fcca747679e255874f6d2107cb8e1a3b2e10bfbf553c3e82a72500fb5fdca49dc07a5fe27fd6980debac24506cca638859
91+
"@opentelemetry/api@npm:^1.7.0":
92+
version: 1.7.0
93+
resolution: "@opentelemetry/api@npm:1.7.0"
94+
checksum: 2398cbe65f199c3a7050125b3ad9c835f789bb0a616665e9c7f4475a29ac8334b6a3c15f38db48d345b522180c41c00b04cc174cd0eeffba98eb4874a565fa7e
9595
languageName: node
9696
linkType: hard
9797

98-
"@opentelemetry/core@npm:1.17.0":
99-
version: 1.17.0
100-
resolution: "@opentelemetry/core@npm:1.17.0"
98+
"@opentelemetry/core@npm:1.18.0":
99+
version: 1.18.0
100+
resolution: "@opentelemetry/core@npm:1.18.0"
101101
dependencies:
102-
"@opentelemetry/semantic-conventions": 1.17.0
102+
"@opentelemetry/semantic-conventions": 1.18.0
103103
peerDependencies:
104-
"@opentelemetry/api": ">=1.0.0 <1.7.0"
105-
checksum: 8f66bc47f2b9cae429830c91840515d6d70793c27fa139e661a7ae05c503d4a7244b5d52e3526cd32401a5a662775bb04546ca1e3ec20dc7124e6d0bb901f176
104+
"@opentelemetry/api": ">=1.0.0 <1.8.0"
105+
checksum: 8c9c98294a1923eef4cb13fc92f59e0b8482b5668b188be485f2a6866534a993bd755028f59cc2fbb6b8cf2288393ce374b3f131b7371b0447222698eb6fd21b
106106
languageName: node
107107
linkType: hard
108108

109-
"@opentelemetry/core@npm:1.17.1":
110-
version: 1.17.1
111-
resolution: "@opentelemetry/core@npm:1.17.1"
109+
"@opentelemetry/exporter-prometheus@npm:^0.45.0":
110+
version: 0.45.0
111+
resolution: "@opentelemetry/exporter-prometheus@npm:0.45.0"
112112
dependencies:
113-
"@opentelemetry/semantic-conventions": 1.17.1
114-
peerDependencies:
115-
"@opentelemetry/api": ">=1.0.0 <1.7.0"
116-
checksum: 06157f4a51dd1b3c98487c0d29a927a5a0fbbc997a81b04ccc4923968424582f517969b91c4f4f19dc1718f27a97f43b0b07af1310a5c240a96c5ff14c4b5cec
117-
languageName: node
118-
linkType: hard
119-
120-
"@opentelemetry/exporter-prometheus@npm:^0.43.0":
121-
version: 0.43.0
122-
resolution: "@opentelemetry/exporter-prometheus@npm:0.43.0"
123-
dependencies:
124-
"@opentelemetry/core": 1.17.0
125-
"@opentelemetry/resources": 1.17.0
126-
"@opentelemetry/sdk-metrics": 1.17.0
113+
"@opentelemetry/core": 1.18.0
114+
"@opentelemetry/resources": 1.18.0
115+
"@opentelemetry/sdk-metrics": 1.18.0
127116
peerDependencies:
128117
"@opentelemetry/api": ^1.3.0
129-
checksum: 3d4bb77a542e35a7c81d146265bcdb5fc6a2cb2962e17cd2321386b8ea4004bdfdcd06b682282be8018f23bf0fd84b077d8706f7656e999d03140bb8be6c9b15
130-
languageName: node
131-
linkType: hard
132-
133-
"@opentelemetry/resources@npm:1.17.0":
134-
version: 1.17.0
135-
resolution: "@opentelemetry/resources@npm:1.17.0"
136-
dependencies:
137-
"@opentelemetry/core": 1.17.0
138-
"@opentelemetry/semantic-conventions": 1.17.0
139-
peerDependencies:
140-
"@opentelemetry/api": ">=1.0.0 <1.7.0"
141-
checksum: 517dba494be0a55ff489b086b8ba33401993d7231483c5e37ff8bc2d360846064ea71cb37b0e7fed39de4f8291a0cccdbd3724e8d9751c72c09ecc66a312f2f4
118+
checksum: 5e0c70302f811af8dae8e67e9c4e74875bddf206d776b40a5f6f2429d51d5b01dfad97485211be8588420fbb65a68f4ceeac3b85cc3eb9d5afab57a60bdb0ba3
142119
languageName: node
143120
linkType: hard
144121

145-
"@opentelemetry/resources@npm:1.17.1":
146-
version: 1.17.1
147-
resolution: "@opentelemetry/resources@npm:1.17.1"
122+
"@opentelemetry/resources@npm:1.18.0":
123+
version: 1.18.0
124+
resolution: "@opentelemetry/resources@npm:1.18.0"
148125
dependencies:
149-
"@opentelemetry/core": 1.17.1
150-
"@opentelemetry/semantic-conventions": 1.17.1
126+
"@opentelemetry/core": 1.18.0
127+
"@opentelemetry/semantic-conventions": 1.18.0
151128
peerDependencies:
152-
"@opentelemetry/api": ">=1.0.0 <1.7.0"
153-
checksum: ea4ec5568f5b67626be6eb2b975614d140dab4f6eb7ca73ee30d0f1957ef9779953956d1d44c35bb124c75e311b34a05e2036b32fcf31cf50ae983154df9ee3d
129+
"@opentelemetry/api": ">=1.0.0 <1.8.0"
130+
checksum: 45c29394e45184242e1722bc937ec2a2be1c71c5c53230350a1e75787f5921f3d959f9a470788dc8e99e81daeff164ce852f82d9852fd3dac51db8a034f96ffb
154131
languageName: node
155132
linkType: hard
156133

157-
"@opentelemetry/sdk-metrics@npm:1.17.0":
158-
version: 1.17.0
159-
resolution: "@opentelemetry/sdk-metrics@npm:1.17.0"
134+
"@opentelemetry/sdk-metrics@npm:1.18.0, @opentelemetry/sdk-metrics@npm:^1.18.0":
135+
version: 1.18.0
136+
resolution: "@opentelemetry/sdk-metrics@npm:1.18.0"
160137
dependencies:
161-
"@opentelemetry/core": 1.17.0
162-
"@opentelemetry/resources": 1.17.0
138+
"@opentelemetry/core": 1.18.0
139+
"@opentelemetry/resources": 1.18.0
163140
lodash.merge: ^4.6.2
164141
peerDependencies:
165-
"@opentelemetry/api": ">=1.3.0 <1.7.0"
166-
checksum: 4f42e7be9c9425f1f2442d1ab333287d42f196b1295ac996aa28e2b414a4a1a034a8857f08ce23a6f32567735682421620f6b63de7c4592d0dc1dd4f487ce8ef
167-
languageName: node
168-
linkType: hard
169-
170-
"@opentelemetry/sdk-metrics@npm:^1.17.0":
171-
version: 1.17.1
172-
resolution: "@opentelemetry/sdk-metrics@npm:1.17.1"
173-
dependencies:
174-
"@opentelemetry/core": 1.17.1
175-
"@opentelemetry/resources": 1.17.1
176-
lodash.merge: ^4.6.2
177-
peerDependencies:
178-
"@opentelemetry/api": ">=1.3.0 <1.7.0"
179-
checksum: 6f6a59c5f594ebfc75da7ba203cb35a9271f4536ed4c2499c83f5953b3a2486d306d7aa17f0d7c2fde0efb8cbe9ac4346988adab0e039d082ec95d8d32703509
180-
languageName: node
181-
linkType: hard
182-
183-
"@opentelemetry/semantic-conventions@npm:1.17.0":
184-
version: 1.17.0
185-
resolution: "@opentelemetry/semantic-conventions@npm:1.17.0"
186-
checksum: 3cb99118b3720aed37fa71d9b6c38847a481d5287653275477d30126de9e548f63a302efbd8a2086a747442880598bbde95ef17f8016dce45b85798696f12be4
142+
"@opentelemetry/api": ">=1.3.0 <1.8.0"
143+
checksum: 1bf1b0db5a16b961d4baaf1d12511e118fb12e960a9764a32b63004cf8da451d5d93c5bc913034afcce29e3c5fb306cc0a1c367ef7d8797475265020e9d8a8c9
187144
languageName: node
188145
linkType: hard
189146

190-
"@opentelemetry/semantic-conventions@npm:1.17.1":
191-
version: 1.17.1
192-
resolution: "@opentelemetry/semantic-conventions@npm:1.17.1"
193-
checksum: 16161f70526d2abcd37a39771229ffe01a25d569f76c86e97200dc20399e7fa87b231c557a9654629b4789e945350e4fc55f88df979a502911f1dde4643ad416
147+
"@opentelemetry/semantic-conventions@npm:1.18.0":
148+
version: 1.18.0
149+
resolution: "@opentelemetry/semantic-conventions@npm:1.18.0"
150+
checksum: b88df0e4ad0879065fa3189195f4087acfdf9673876df7f932b3fc16bde9a730764a0e8532b37741afd1f293231eca5f2e0101576c235cf70918906ea3408216
194151
languageName: node
195152
linkType: hard
196153

examples/hono-bun/bun.lockb

1.9 KB
Binary file not shown.

examples/hono-bun/package.json

+2-2
Original file line numberDiff line numberDiff line change
@@ -9,8 +9,8 @@
99
},
1010
"devDependencies": {
1111
"bun-types": "^1.0",
12-
"@opentelemetry/exporter-prometheus": "^0.43.0",
13-
"@opentelemetry/sdk-metrics": "^1.17.0",
12+
"@opentelemetry/exporter-prometheus": "^0.45.0",
13+
"@opentelemetry/sdk-metrics": "^1.18.0",
1414
"typescript": "^5.2.2"
1515
}
1616
}

0 commit comments

Comments
 (0)