Skip to content

Commit 30d790a

Browse files
authored
Update version number (#146)
* Update version number * Update lockfiles * Test fixes * Formatting
1 parent 17a2d15 commit 30d790a

File tree

7 files changed

+45
-35
lines changed

7 files changed

+45
-35
lines changed

CONTRIBUTING.md

+6-4
Original file line numberDiff line numberDiff line change
@@ -125,11 +125,13 @@ you want to publish you will need to create a separate release.
125125

126126
### Creating a release
127127

128-
1. Ensure that the version number in respective `package.json` is up to date
129-
2. Make sure that all tests have successfully passed in the latest commit on
128+
1. Ensure that the version number in the root `package.json` is up to date
129+
2. Run `just build-all` to make sure lock files in the examples are updated
130+
correctly.
131+
3. Make sure that all tests have successfully passed in the latest commit on
130132
`main` (the CI will run one more time before publishing it to NPM)
131-
3. Create a release on GitHub along with a respective tag for each package:
133+
4. Create a release on GitHub along with a respective tag for each package:
132134
- `lib/` (main autometrics library) → tag: `lib-*` (e.g.: `lib-v0.7`)
133135
- `typescript-plugin/` → tag: `typescript-plugin-*`
134136
- `parcel-transformer-autometrics/` → tag: `parcel-transformer-*`
135-
4. When the release is published, the relevant GitHub workflow will kick off.
137+
5. When the release is published, the relevant GitHub workflow will kick off.

examples/fastify/yarn.lock

+3-3
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@ __metadata:
55
version: 6
66
cacheKey: 8
77

8-
"@autometrics/autometrics@0.8.0-dev, @autometrics/autometrics@workspace:../../dist/autometrics":
8+
"@autometrics/autometrics@1.0.0, @autometrics/autometrics@workspace:../../dist/autometrics":
99
version: 0.0.0-use.local
1010
resolution: "@autometrics/autometrics@workspace:../../dist/autometrics"
1111
dependencies:
@@ -28,7 +28,7 @@ __metadata:
2828
version: 0.0.0-use.local
2929
resolution: "@autometrics/exporter-prometheus@portal:../../dist/exporter-prometheus::locator=fastify-example%40workspace%3A."
3030
dependencies:
31-
"@autometrics/autometrics": 0.8.0-dev
31+
"@autometrics/autometrics": 1.0.0
3232
"@opentelemetry/api": 1.7.0
3333
"@opentelemetry/exporter-prometheus": 0.45.0
3434
"@opentelemetry/sdk-metrics": 1.18.0
@@ -39,7 +39,7 @@ __metadata:
3939
version: 0.0.0-use.local
4040
resolution: "@autometrics/exporter-prometheus@workspace:../../dist/exporter-prometheus"
4141
dependencies:
42-
"@autometrics/autometrics": 0.8.0-dev
42+
"@autometrics/autometrics": 1.0.0
4343
"@opentelemetry/api": 1.7.0
4444
"@opentelemetry/exporter-prometheus": 0.45.0
4545
"@opentelemetry/sdk-metrics": 1.18.0

examples/react-app-experimental/yarn.lock

+3-3
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,7 @@ __metadata:
1515
languageName: node
1616
linkType: hard
1717

18-
"@autometrics/autometrics@0.8.0-dev, @autometrics/autometrics@workspace:../../dist/autometrics":
18+
"@autometrics/autometrics@1.0.0, @autometrics/autometrics@workspace:../../dist/autometrics":
1919
version: 0.0.0-use.local
2020
resolution: "@autometrics/autometrics@workspace:../../dist/autometrics"
2121
dependencies:
@@ -38,7 +38,7 @@ __metadata:
3838
version: 0.0.0-use.local
3939
resolution: "@autometrics/exporter-otlp-http@portal:../../dist/exporter-otlp-http::locator=react-app-example%40workspace%3A."
4040
dependencies:
41-
"@autometrics/autometrics": 0.8.0-dev
41+
"@autometrics/autometrics": 1.0.0
4242
"@opentelemetry/api": 1.7.0
4343
"@opentelemetry/exporter-metrics-otlp-http": 0.45.0
4444
"@opentelemetry/sdk-metrics": 1.18.0
@@ -49,7 +49,7 @@ __metadata:
4949
version: 0.0.0-use.local
5050
resolution: "@autometrics/exporter-prometheus@workspace:../../dist/exporter-prometheus"
5151
dependencies:
52-
"@autometrics/autometrics": 0.8.0-dev
52+
"@autometrics/autometrics": 1.0.0
5353
"@opentelemetry/api": 1.7.0
5454
"@opentelemetry/exporter-prometheus": 0.45.0
5555
"@opentelemetry/sdk-metrics": 1.18.0

package.json

+1-1
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22
"private": true,
33
"name": "autometrics-monorepo",
44
"packageManager": "[email protected]",
5-
"version": "0.8.0-dev",
5+
"version": "1.0.0",
66
"workspaces": [
77
"dist/autometrics",
88
"dist/exporter-otlp-http",

packages/autometrics/src/exporter-prometheus/PrometheusExporter.ts

+26-22
Original file line numberDiff line numberDiff line change
@@ -42,6 +42,7 @@ export interface ExporterConfig {
4242

4343
export class PrometheusExporter extends MetricReader {
4444
private readonly _abortController: AbortController;
45+
private readonly _server: Deno.HttpServer;
4546

4647
// This will be required when histogram is implemented. Leaving here so it is not forgotten
4748
// Histogram cannot have a attribute named 'le'
@@ -68,29 +69,32 @@ export class PrometheusExporter extends MetricReader {
6869
this._abortController = new AbortController();
6970
const { signal } = this._abortController;
7071

71-
Deno.serve({ hostname, port, signal, onError }, async (request) => {
72-
if (new URL(request.url).pathname !== "/metrics") {
73-
return new Response("not found", { status: 404 });
74-
}
75-
76-
try {
77-
const { resourceMetrics, errors } = await this.collect();
78-
if (errors.length) {
79-
amLogger.trace(
80-
"PrometheusExporter: metrics collection errors",
81-
...errors,
82-
);
72+
this._server = Deno.serve(
73+
{ hostname, port, signal, onError },
74+
async (request) => {
75+
if (new URL(request.url).pathname !== "/metrics") {
76+
return new Response("not found", { status: 404 });
8377
}
8478

85-
return new Response(serializer.serialize(resourceMetrics), {
86-
headers: HEADERS,
87-
});
88-
} catch (error) {
89-
return new Response(`# failed to export metrics: ${error}`, {
90-
headers: HEADERS,
91-
});
92-
}
93-
});
79+
try {
80+
const { resourceMetrics, errors } = await this.collect();
81+
if (errors.length) {
82+
amLogger.trace(
83+
"PrometheusExporter: metrics collection errors",
84+
...errors,
85+
);
86+
}
87+
88+
return new Response(serializer.serialize(resourceMetrics), {
89+
headers: HEADERS,
90+
});
91+
} catch (error) {
92+
return new Response(`# failed to export metrics: ${error}`, {
93+
headers: HEADERS,
94+
});
95+
}
96+
},
97+
);
9498

9599
amLogger.debug(
96100
`Prometheus exporter server started: ${hostname}:${port}/metrics`,
@@ -113,6 +117,6 @@ export class PrometheusExporter extends MetricReader {
113117
*/
114118
stopServer(): Promise<void> {
115119
this._abortController.abort();
116-
return Promise.resolve();
120+
return this._server.finished;
117121
}
118122
}

packages/autometrics/tests/otlpHttpExporter.test.ts

+3-1
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,7 @@ Deno.test("OTLP/HTTP exporter", async (t) => {
1414
// retrying, which may mess with other tests.
1515
const serverController = new AbortController();
1616
const { signal } = serverController;
17-
Deno.serve({ port, signal }, () => new Response("ok"));
17+
const server = Deno.serve({ port, signal }, () => new Response("ok"));
1818

1919
// make sure that metrics that are collected before `init()` is called are
2020
// correctly tracked.
@@ -53,4 +53,6 @@ Deno.test("OTLP/HTTP exporter", async (t) => {
5353
);
5454

5555
serverController.abort();
56+
57+
await server.finished;
5658
});

packages/autometrics/tests/testUtils.ts

+3-1
Original file line numberDiff line numberDiff line change
@@ -59,7 +59,7 @@ export function testWithTemporality({
5959
// retrying, which may mess with other tests.
6060
const serverController = new AbortController();
6161
const { signal } = serverController;
62-
Deno.serve({ port, signal }, () => new Response("ok"));
62+
const server = Deno.serve({ port, signal }, () => new Response("ok"));
6363

6464
const timeout = 10;
6565

@@ -96,5 +96,7 @@ export function testWithTemporality({
9696
await metricReader.shutdown();
9797

9898
serverController.abort();
99+
100+
await server.finished;
99101
};
100102
}

0 commit comments

Comments
 (0)