snek
50e5c69f18
feat(otel): support vsock transport for telemetry ( #30001 )
...
ci / test debug macos-x86_64 (push) Blocked by required conditions
ci / build libs (push) Blocked by required conditions
ci / test debug macos-aarch64 (push) Blocked by required conditions
ci / test release macos-aarch64 (push) Blocked by required conditions
ci / bench release linux-x86_64 (push) Blocked by required conditions
ci / lint debug linux-x86_64 (push) Blocked by required conditions
ci / lint debug macos-x86_64 (push) Blocked by required conditions
ci / lint debug windows-x86_64 (push) Blocked by required conditions
ci / test debug linux-x86_64 (push) Blocked by required conditions
ci / test release linux-x86_64 (push) Blocked by required conditions
ci / test release macos-x86_64 (push) Blocked by required conditions
ci / test debug windows-x86_64 (push) Blocked by required conditions
ci / test release windows-x86_64 (push) Blocked by required conditions
ci / pre-build (push) Waiting to run
ci / test debug linux-aarch64 (push) Blocked by required conditions
ci / test release linux-aarch64 (push) Blocked by required conditions
ci / publish canary (push) Blocked by required conditions
implement new connector which uses either HttpsConnector or VsockStream.
will also be easy to add tunnels to this later.
2025-07-07 13:43:43 +00:00
Bartek Iwańczuk
14f9d77f3d
feat(otel): stabilize OpenTelemetry support ( #29822 )
...
ci / build libs (push) Blocked by required conditions
ci / pre-build (push) Waiting to run
ci / test debug linux-aarch64 (push) Blocked by required conditions
ci / test release linux-aarch64 (push) Blocked by required conditions
ci / test debug macos-aarch64 (push) Blocked by required conditions
ci / test release macos-aarch64 (push) Blocked by required conditions
ci / bench release linux-x86_64 (push) Blocked by required conditions
ci / lint debug linux-x86_64 (push) Blocked by required conditions
ci / lint debug macos-x86_64 (push) Blocked by required conditions
ci / lint debug windows-x86_64 (push) Blocked by required conditions
ci / test debug linux-x86_64 (push) Blocked by required conditions
ci / test release linux-x86_64 (push) Blocked by required conditions
ci / test debug macos-x86_64 (push) Blocked by required conditions
ci / test release macos-x86_64 (push) Blocked by required conditions
ci / test debug windows-x86_64 (push) Blocked by required conditions
ci / test release windows-x86_64 (push) Blocked by required conditions
ci / publish canary (push) Blocked by required conditions
This commit stabilizes support for OpenTelemetry in Deno,
effectively removing the need to use `--unstable-otel` flag
or using `{ "unstable": ["otel"] }` option in the config file.
Supersedes https://github.com/denoland/deno/pull/29500
Closes https://github.com/denoland/deno/issues/29477
2025-06-24 16:49:04 +02:00
Luca Casonato
eb97f51dad
tests(otel): ensure delta temporality is working ( #29602 )
2025-06-05 10:19:41 +02:00
William Perron
a3395ba972
fix(otel): set timestamp on opentelemetry log records ( #28625 )
...
ci / test debug macos-x86_64 (push) Blocked by required conditions
ci / test release macos-x86_64 (push) Blocked by required conditions
ci / test debug windows-x86_64 (push) Blocked by required conditions
ci / test release windows-x86_64 (push) Blocked by required conditions
ci / pre-build (push) Waiting to run
ci / test debug linux-aarch64 (push) Blocked by required conditions
ci / test release linux-aarch64 (push) Blocked by required conditions
ci / test debug macos-aarch64 (push) Blocked by required conditions
ci / test release macos-aarch64 (push) Blocked by required conditions
ci / bench release linux-x86_64 (push) Blocked by required conditions
ci / lint debug linux-x86_64 (push) Blocked by required conditions
ci / lint debug macos-x86_64 (push) Blocked by required conditions
ci / lint debug windows-x86_64 (push) Blocked by required conditions
ci / test debug linux-x86_64 (push) Blocked by required conditions
ci / test release linux-x86_64 (push) Blocked by required conditions
ci / build wasm32 (push) Blocked by required conditions
ci / publish canary (push) Blocked by required conditions
Co-authored-by: David Sherret <dsherret@users.noreply.github.com>
2025-06-03 17:56:32 +00:00
David Sherret
e601df6bfb
fix: allow specifying otel config in --env-file
( #29240 )
...
Alternative to https://github.com/denoland/deno/pull/28127 that does cli
flag parsing, then env file loading, then resolves config with env vars.
This also fixes several other issues related to env vars in the
--env-file not being used for certain config.
Closes https://github.com/denoland/deno/issues/27851
Closes https://github.com/denoland/deno/issues/29171
Closes https://github.com/denoland/deno/pull/28127
Closes #29256
2025-05-11 21:09:52 -04:00
Laurence Rowe
8b0b3e9567
chore(cli): test support --single-threaded v8 flag ( #29099 )
2025-05-02 10:33:26 -04:00
Luca Casonato
733ffd9dd9
fix(otel): recording metrics with more than 3 attributes ( #28898 )
...
We were calling `op_otel_metric_attribute3` with the wrong arguments.
2025-04-26 20:15:21 +02:00
Lach
ec8e683de9
fix(otel): support attributes on links and events ( #28584 )
2025-04-25 18:26:33 +02:00
Lucas Wasilewski
9ed2fad9ed
feat(ext/http): Show that is also listening on localhost ( #28171 )
...
Closes #27722
This will show `Listening on http://0.0.0.0:8000 (http://localhost:8000 )`
---------
Co-authored-by: David Sherret <dsherret@gmail.com>
Co-authored-by: Bartek Iwańczuk <biwanczuk@gmail.com>
2025-04-25 08:36:20 +00:00
Luca Casonato
c12709196c
fix: support vsock in DENO_SERVE_ADDRESS ( #28941 )
2025-04-17 13:49:47 +02:00
snek
ebc4f82eca
feat: v8js metrics ( #28592 )
...
Implement
https://opentelemetry.io/docs/specs/semconv/runtime/v8js-metrics/
2025-04-03 15:18:54 +02:00
snek
27363d389d
refactor: internal logging utility ( #28567 )
...
`import.meta.log` enables basic log filtering through
`env_logger`/`DENO_LOG`. Log levels are supported, and filenames can
also be used. for example: `DENO_LOG=ext:deno_http::00_serve.ts=warn`
2025-03-21 12:17:50 +01:00
Lach
7ac8130854
feat(otel): basic event recording ( #28552 )
2025-03-20 13:58:08 -07:00
Leo Kettmeir
28e5c388b4
feat(otel): span context propagators ( #28460 )
...
Co-authored-by: Luca Casonato <hello@lcas.dev>
2025-03-13 16:32:45 +01:00
Yoshiya Hinosawa
dcfaba0f3a
fix(otel/unstable): trace error cases of fetch ( #28480 )
2025-03-13 17:47:00 +09:00
Yoshiya Hinosawa
c9930c591a
feat(unstable/otel): add otel tracing to node:http.request ( #28463 )
2025-03-13 17:43:37 +09:00
Yoshiya Hinosawa
6ddf0f2f5f
test(otel): add test of otel integration of node http server ( #28461 )
2025-03-11 23:11:19 +09:00
Luca Casonato
aa55efaa13
fix(otel): don't throw when calling setActiveSpan at root ( #28323 )
...
When calling `setActiveSpan` at the module root, or with `options.root =
true`, the function would internally throw.
2025-02-27 18:47:09 +01:00
Nathan Whitaker
73c4ce33da
chore: fix more flakey otel tests ( #28211 )
...
There are a couple others that flake for the same reason, that I missed
2025-02-20 14:24:48 -08:00
Nathan Whitaker
3fdde62ba2
chore: fix otel test flakiness ( #28209 )
...
The bucket counts can vary run to run. Also don't hardcode the port
2025-02-20 21:06:42 +00:00
Leo Kettmeir
bf79971c95
feat(http): add otel metrics ( #28034 )
...
Signed-off-by: Leo Kettmeir <crowlkats@toaxl.com>
Co-authored-by: Luca Casonato <hello@lcas.dev>
2025-02-18 14:19:52 -08:00
snek
32eb991ef8
feat(unstable): support https otlp endpoints ( #27743 )
...
Support HTTPS protocol for otel exporting. Includes support for
`OTEL_EXPORTER_OTLP_CERTIFICATE`, `OTEL_EXPORTER_OTLP_CLIENT_KEY`, and
`OTEL_EXPORTER_OTLP_CLIENT_CERTIFICATE`
Fixes: https://github.com/denoland/deno/issues/27703
2025-01-22 13:07:04 +00:00
Luca Casonato
5e9b3712de
feat(unstable): add basic support for otel trace links ( #27727 )
...
Currently only links with no attributes.
2025-01-20 15:39:59 +01:00
Luca Casonato
f483996658
feat(unstable): no config npm:@opentelemetry/api integration ( #27541 )
...
After this PR, one does not need to import `jsr:@deno/otel` anymore.
2025-01-06 17:00:32 +01:00
Luca Casonato
4b35ba6b13
feat(unstable): replace SpanExporter with TracerProvider ( #27473 )
2025-01-06 14:28:29 +01:00
Kenta Moriuchi
8fb073d7b4
chore: Happy New Year 2025 ( #27509 )
2024-12-31 19:12:39 +00:00
Luca Casonato
f4e321342f
feat(unstable): add OTEL MeterProvider ( #27240 )
...
This commit replaces `Deno.telemetry.MetricsExporter` with
`Deno.telemetry.MeterProvider`.
Signed-off-by: Luca Casonato <hello@lcas.dev>
Co-authored-by: snek <snek@deno.com>
2024-12-26 09:01:39 +01:00
snek
5f8be055db
refactor(unstable): otel configuration ( #27333 )
...
split up otel config into user configurable and runtime configurable
parts. user configurable part is now set via env vars parsed according
to the otel spec. otel is now enabled via `OTEL_DENO=true`, and
`--unstable-otel` only acts as a guard.
Fixes: https://github.com/denoland/deno/issues/27273
2024-12-12 09:17:26 +01:00
snek
5c17bb4287
fix(unstable): otel context with multiple keys ( #27230 )
...
`SafeMap` treats its argument as an object with a "length" and index
properties, rather than a generic iterator, so every time we cloned it,
it was dropping all the data.
2024-12-04 13:14:37 +00:00
snek
7c036772df
feat(unstable): add metrics to otel ( #27143 )
...
Refs: https://github.com/denoland/deno/issues/26852
Initial support for exporting metrics.
Co-authored-by: Luca Casonato <hello@lcas.dev>
2024-12-02 20:45:41 +01:00
snek
d59bd5e8c9
feat(unstable): Instrument fetch ( #27057 )
...
Add basic tracing to `fetch`. Also fix span kinds so that we can
differentiate fetch and serve.
2024-11-25 16:38:07 +01:00
snek
8ea95c34b5
feat: Instrument Deno.serve ( #26964 )
...
Add basic trace to Deno.serve. Also updates a bit of the testing infra
to make it easier to deal with.
2024-11-25 10:45:06 +01:00
Luca Casonato
594a99817c
feat(runtime): remove public OTEL trace API ( #26854 )
...
This PR removes the public Deno.tracing.Span API.
We are not confident we can ship an API that is
better than the `@opentelemetry/api` API, because
V8 CPED does not support us using `using` to
manage span context. If this changes, we can
revisit this decision. For now, users wanting
custom spans can instrument their code using
the `@opentelemetry/api` API and `@deno/otel`.
This PR also speeds up the OTEL trace generation
by a 30% by using Uint8Array instead of
strings for the trace ID and span ID.
2024-11-18 23:55:22 +00:00
snek
4e899d48cf
fix: otel resiliency ( #26857 )
...
Improving the breadth of collected data, and ensuring that the collected
data is more likely to be successfully reported.
- Use `log` crate in more places
- Hook up `log` crate to otel
- Switch to process-wide otel processors
- Handle places that use `process::exit`
Also adds a more robust testing framework, with a deterministic tracing
setting.
Refs: https://github.com/denoland/deno/issues/26852
2024-11-14 12:16:28 +00:00
snek
aa546189be
feat: OpenTelemetry Tracing API and Exporting ( #26710 )
...
Initial import of OTEL code supporting tracing. Metrics soon to come.
Implements APIs for https://jsr.io/@deno/otel so that code using
OpenTelemetry.js just works tm.
There is still a lot of work to do with configuration and adding
built-in tracing to core APIs, which will come in followup PRs.
---------
Co-authored-by: Luca Casonato <hello@lcas.dev>
2024-11-13 10:38:46 +00:00
muddlebee
9776a13e33
fix: panic when piping "deno help" or "deno --version" ( #22917 )
...
Fixes #22863
---------
Co-authored-by: Bartek Iwańczuk <biwanczuk@gmail.com>
2024-07-09 22:57:00 +00:00