summaryrefslogtreecommitdiff
path: root/cli/standalone
diff options
context:
space:
mode:
authorsnek <snek@deno.com>2024-11-13 11:38:46 +0100
committerGitHub <noreply@github.com>2024-11-13 10:38:46 +0000
commitaa546189be730163ee5370029e4dfdb3b454ab96 (patch)
tree4407643e6908f82c9ac31d9ae5faf04b3ab8d413 /cli/standalone
parent7becd83a3828b35331d0fcb82c64146e520f154b (diff)
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>
Diffstat (limited to 'cli/standalone')
-rw-r--r--cli/standalone/binary.rs3
-rw-r--r--cli/standalone/mod.rs1
2 files changed, 4 insertions, 0 deletions
diff --git a/cli/standalone/binary.rs b/cli/standalone/binary.rs
index 9e2651226..960aad157 100644
--- a/cli/standalone/binary.rs
+++ b/cli/standalone/binary.rs
@@ -47,6 +47,7 @@ use deno_runtime::deno_fs::FileSystem;
use deno_runtime::deno_fs::RealFs;
use deno_runtime::deno_io::fs::FsError;
use deno_runtime::deno_node::PackageJson;
+use deno_runtime::ops::otel::OtelConfig;
use deno_semver::npm::NpmVersionReqParseError;
use deno_semver::package::PackageReq;
use deno_semver::Version;
@@ -185,6 +186,7 @@ pub struct Metadata {
pub entrypoint_key: String,
pub node_modules: Option<NodeModules>,
pub unstable_config: UnstableConfig,
+ pub otel_config: Option<OtelConfig>, // None means disabled.
}
fn write_binary_bytes(
@@ -722,6 +724,7 @@ impl<'a> DenoCompileBinaryWriter<'a> {
sloppy_imports: cli_options.unstable_sloppy_imports(),
features: cli_options.unstable_features(),
},
+ otel_config: cli_options.otel_config(),
};
write_binary_bytes(
diff --git a/cli/standalone/mod.rs b/cli/standalone/mod.rs
index 85610f4c2..bb0ab423d 100644
--- a/cli/standalone/mod.rs
+++ b/cli/standalone/mod.rs
@@ -800,6 +800,7 @@ pub async fn run(data: StandaloneData) -> Result<i32, AnyError> {
serve_port: None,
serve_host: None,
},
+ metadata.otel_config,
);
// Initialize v8 once from the main thread.