diff options
author | snek <snek@deno.com> | 2024-11-14 13:16:28 +0100 |
---|---|---|
committer | GitHub <noreply@github.com> | 2024-11-14 12:16:28 +0000 |
commit | 4e899d48cffa95617266dd8f9aef54603a87ad82 (patch) | |
tree | ec667f58ccb4126ecad38bc4600d9dd8dc372ca5 /runtime/lib.rs | |
parent | cb107a762fb903973e0d0c2e4481baf2c0bc13b8 (diff) |
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
Diffstat (limited to 'runtime/lib.rs')
-rw-r--r-- | runtime/lib.rs | 6 |
1 files changed, 6 insertions, 0 deletions
diff --git a/runtime/lib.rs b/runtime/lib.rs index 21b61e1c0..6fb8c5f3d 100644 --- a/runtime/lib.rs +++ b/runtime/lib.rs @@ -140,6 +140,12 @@ pub static UNSTABLE_GRANULAR_FLAGS: &[UnstableGranularFlag] = &[ }, ]; +pub fn exit(code: i32) -> ! { + crate::ops::otel::flush(); + #[allow(clippy::disallowed_methods)] + std::process::exit(code); +} + #[cfg(test)] mod test { use super::*; |