mirror of
https://github.com/openai/codex.git
synced 2026-04-24 22:54:54 +00:00
Add a `.sqlite` database to be used to store rollout metatdata (and later logs) This PR is phase 1: * Add the database and the required infrastructure * Add a backfill of the database * Persist the newly created rollout both in files and in the DB * When we need to get metadata or a rollout, consider the `JSONL` as the source of truth but compare the results with the DB and show any errors
23 lines
583 B
Rust
23 lines
583 B
Rust
mod client;
|
|
mod config;
|
|
mod error;
|
|
pub(crate) mod timer;
|
|
pub(crate) mod validation;
|
|
|
|
pub use crate::metrics::client::MetricsClient;
|
|
pub use crate::metrics::config::MetricsConfig;
|
|
pub use crate::metrics::config::MetricsExporter;
|
|
pub use crate::metrics::error::MetricsError;
|
|
pub use crate::metrics::error::Result;
|
|
use std::sync::OnceLock;
|
|
|
|
static GLOBAL_METRICS: OnceLock<MetricsClient> = OnceLock::new();
|
|
|
|
pub(crate) fn install_global(metrics: MetricsClient) {
|
|
let _ = GLOBAL_METRICS.set(metrics);
|
|
}
|
|
|
|
pub fn global() -> Option<MetricsClient> {
|
|
GLOBAL_METRICS.get().cloned()
|
|
}
|