implement tracing

This commit is contained in:
mbecker20
2024-01-15 01:29:26 -08:00
parent f97e48e886
commit 2b4ebd6e10
26 changed files with 163 additions and 153 deletions

203
Cargo.lock generated
View File

@@ -36,11 +36,11 @@ version = "1.0.1"
dependencies = [
"anyhow",
"axum",
"log",
"logger",
"monitor_client",
"termination_signal",
"tokio",
"tracing",
]
[[package]]
@@ -60,9 +60,9 @@ dependencies = [
[[package]]
name = "anstream"
version = "0.6.4"
version = "0.6.7"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "2ab91ebe16eb252986481c5b62f6098f3b698a45e34b5b98200cf20dd2484a44"
checksum = "4cd2405b3ac1faab2990b74d728624cd9fd115651fcecc7c2d8daf01376275ba"
dependencies = [
"anstyle",
"anstyle-parse",
@@ -147,17 +147,6 @@ dependencies = [
"tokio",
]
[[package]]
name = "atty"
version = "0.2.14"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "d9b39be18770d11421cdb1b9947a45dd3f37e93092cbf377614828a319d5fee8"
dependencies = [
"hermit-abi 0.1.19",
"libc",
"winapi",
]
[[package]]
name = "autocfg"
version = "1.1.0"
@@ -501,9 +490,9 @@ dependencies = [
[[package]]
name = "axum"
version = "0.7.3"
version = "0.7.4"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "d09dbe0e490df5da9d69b36dca48a76635288a82f92eca90024883a56202026d"
checksum = "1236b4b292f6c4d6dc34604bb5120d85c3fe1d1aa596bd5cc52ca054d13e7b9e"
dependencies = [
"async-trait",
"axum-core",
@@ -538,9 +527,9 @@ dependencies = [
[[package]]
name = "axum-core"
version = "0.4.2"
version = "0.4.3"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "e87c8503f93e6d144ee5690907ba22db7ba79ab001a932ab99034f0fe836b3df"
checksum = "a15c63fd72d41492dc4f497196f5da1fb04fb7529e631d73630d1b491e47a2e3"
dependencies = [
"async-trait",
"bytes",
@@ -559,9 +548,9 @@ dependencies = [
[[package]]
name = "axum-extra"
version = "0.9.1"
version = "0.9.2"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "881348a37b079994894b6e5e46edcc4b8a60e1c0333669a65b810abeed780598"
checksum = "895ff42f72016617773af68fb90da2a9677d89c62338ec09162d4909d86fdd8f"
dependencies = [
"axum",
"axum-core",
@@ -805,9 +794,9 @@ dependencies = [
[[package]]
name = "clap"
version = "4.4.13"
version = "4.4.16"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "52bdc885e4cacc7f7c9eedc1ef6da641603180c783c41a15c264944deeaab642"
checksum = "58e54881c004cec7895b0068a0a954cd5d62da01aef83fa35b1e594497bf5445"
dependencies = [
"clap_builder",
"clap_derive",
@@ -815,9 +804,9 @@ dependencies = [
[[package]]
name = "clap_builder"
version = "4.4.12"
version = "4.4.16"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "fb7fb5e4e979aec3be7791562fcba452f94ad85e954da024396433e0e25a79e9"
checksum = "59cb82d7f531603d2fd1f507441cdd35184fa81beff7bd489570de7f773460bb"
dependencies = [
"anstream",
"anstyle",
@@ -849,17 +838,6 @@ version = "1.0.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "acbf1af155f9b9ef647e42cdc158db4b64a1b61f743629225fde6f3e0be2a7c7"
[[package]]
name = "colored"
version = "2.0.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "b3616f750b84d8f0de8a58bda93e08e2a81ad3f523089b05f1dffecab48c6cbd"
dependencies = [
"atty",
"lazy_static",
"winapi",
]
[[package]]
name = "convert_case"
version = "0.4.0"
@@ -1024,10 +1002,10 @@ name = "db_client"
version = "1.0.1"
dependencies = [
"anyhow",
"log",
"mongo_indexed",
"monitor_client",
"mungos",
"tracing",
]
[[package]]
@@ -1464,15 +1442,6 @@ version = "0.4.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "95505c38b4572b2d910cecb0281560f54b440a19336cbbcb27bf6ce6adc6f5a8"
[[package]]
name = "hermit-abi"
version = "0.1.19"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "62b467343b94ba476dcb2500d242dadbb39557df889310ac77c5d99100aaac33"
dependencies = [
"libc",
]
[[package]]
name = "hermit-abi"
version = "0.2.6"
@@ -1894,8 +1863,8 @@ name = "logger"
version = "1.0.1"
dependencies = [
"anyhow",
"log",
"simple_logger",
"tracing",
"tracing-subscriber",
]
[[package]]
@@ -1970,7 +1939,6 @@ dependencies = [
"db_client",
"dotenv",
"envy",
"log",
"logger",
"mongo_indexed",
"monitor_client",
@@ -1978,6 +1946,7 @@ dependencies = [
"serde",
"termination_signal",
"tokio",
"tracing",
]
[[package]]
@@ -2140,7 +2109,6 @@ dependencies = [
"hex",
"hmac",
"jwt",
"log",
"logger",
"merge_config_files",
"mongo_indexed",
@@ -2156,13 +2124,13 @@ dependencies = [
"serror",
"serror_axum",
"sha2",
"simple_logger",
"slack_client_rs",
"termination_signal",
"tokio",
"tokio-util",
"tower",
"tower-http",
"tracing",
"typeshare",
"urlencoding",
"uuid",
@@ -2190,7 +2158,6 @@ dependencies = [
"clap",
"dotenv",
"envy",
"log",
"logger",
"merge_config_files",
"monitor_client",
@@ -2200,14 +2167,21 @@ dependencies = [
"serde",
"serde_json",
"serror_axum",
"simple_logger",
"svi",
"sysinfo",
"termination_signal",
"tokio",
"tracing",
"uuid",
]
[[package]]
name = "monitor_sync"
version = "1.0.1"
dependencies = [
"tokio",
]
[[package]]
name = "mungos"
version = "0.5.4"
@@ -2249,6 +2223,16 @@ dependencies = [
"winapi",
]
[[package]]
name = "nu-ansi-term"
version = "0.46.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "77a8165726e8236064dbb45459242600304b42a5ea24ee2948e18e023bf7ba84"
dependencies = [
"overload",
"winapi",
]
[[package]]
name = "num-integer"
version = "0.1.45"
@@ -2278,15 +2262,6 @@ dependencies = [
"libc",
]
[[package]]
name = "num_threads"
version = "0.1.6"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "2819ce041d2ee131036f4fc9d6ae7ae125a3a40e97ba64d04fe799ad9dabbb44"
dependencies = [
"libc",
]
[[package]]
name = "object"
version = "0.31.1"
@@ -2352,6 +2327,12 @@ version = "0.5.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "4030760ffd992bef45b0ae3f10ce1aba99e33464c90d14dd7c039884963ddc7a"
[[package]]
name = "overload"
version = "0.1.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "b15813163c1d831bf4a13c3610c05c0d03b39feb07f7e09fa234dac9b15aaf39"
[[package]]
name = "parking_lot"
version = "0.12.1"
@@ -2421,13 +2402,13 @@ name = "periphery_client"
version = "1.0.1"
dependencies = [
"anyhow",
"log",
"monitor_client",
"monitor_periphery",
"reqwest",
"resolver_api",
"serde_json",
"serror",
"tracing",
]
[[package]]
@@ -2860,15 +2841,6 @@ dependencies = [
"serde_derive",
]
[[package]]
name = "serde-error"
version = "0.1.2"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "e988182713aeed6a619a88bca186f6d6407483485ffe44c869ee264f8eabd13f"
dependencies = [
"serde",
]
[[package]]
name = "serde_bytes"
version = "0.11.9"
@@ -2982,21 +2954,20 @@ dependencies = [
[[package]]
name = "serror"
version = "0.1.4"
version = "0.1.5"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "7fc001f673de08108f1602eafd1f7fb18894588004b9d91a6bf05a5e284fe50d"
checksum = "14dfbd9ae6a51c56840be22954364717d391b46e9f0c65cb7b45ca79a2523e5b"
dependencies = [
"anyhow",
"serde",
"serde-error",
"serde_json",
]
[[package]]
name = "serror_axum"
version = "0.1.2"
version = "0.1.5"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "f7ab34bc2fc163055ee8e2731a7ec9bbf6ebff834a10579e44fddce2695b6ea5"
checksum = "181d9f80caad3a01f9ab41ec6d9ad3badee56185f3ad3c89e0bbdfc8e3f315a9"
dependencies = [
"anyhow",
"axum",
@@ -3036,6 +3007,15 @@ dependencies = [
"digest",
]
[[package]]
name = "sharded-slab"
version = "0.1.7"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "f40ca3c46823713e0d4209592e8d6e826aa57e928f09752619fc696c499637f6"
dependencies = [
"lazy_static",
]
[[package]]
name = "signal-hook"
version = "0.3.15"
@@ -3067,18 +3047,6 @@ dependencies = [
"tokio",
]
[[package]]
name = "simple_logger"
version = "4.3.3"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "8e7e46c8c90251d47d08b28b8a419ffb4aede0f87c2eea95e17d1d5bacbf3ef1"
dependencies = [
"colored",
"log",
"time 0.3.21",
"windows-sys 0.48.0",
]
[[package]]
name = "slab"
version = "0.4.8"
@@ -3355,6 +3323,16 @@ dependencies = [
"syn 2.0.48",
]
[[package]]
name = "thread_local"
version = "1.1.7"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "3fdd6f064ccff2d6567adcb3873ca630700f00b5ad3f060c25b5dcfd9a4ce152"
dependencies = [
"cfg-if",
"once_cell",
]
[[package]]
name = "time"
version = "0.1.45"
@@ -3373,8 +3351,6 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "8f3403384eaacbca9923fa06940178ac13e4edb725486d70e8e15881d0c836cc"
dependencies = [
"itoa",
"libc",
"num_threads",
"serde",
"time-core",
"time-macros",
@@ -3576,11 +3552,10 @@ checksum = "b6bc1c9ce2b5135ac7f93c72918fc37feb872bdc6a5533a8b85eb4b86bfdae52"
[[package]]
name = "tracing"
version = "0.1.37"
version = "0.1.40"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "8ce8c33a8d48bd45d624a6e523445fd21ec13d3653cd51f681abf67418f54eb8"
checksum = "c3523ab5a71916ccf420eebdf5521fcef02141234bbc0b8a49f2fdc4544364ef"
dependencies = [
"cfg-if",
"log",
"pin-project-lite",
"tracing-attributes",
@@ -3589,9 +3564,9 @@ dependencies = [
[[package]]
name = "tracing-attributes"
version = "0.1.26"
version = "0.1.27"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "5f4f31f56159e98206da9efd823404b79b6ef3143b4a7ab76e67b1751b25a4ab"
checksum = "34704c8d6ebcbc939824180af020566b01a7c01f80641264eba0999f6c2b6be7"
dependencies = [
"proc-macro2",
"quote",
@@ -3600,11 +3575,37 @@ dependencies = [
[[package]]
name = "tracing-core"
version = "0.1.31"
version = "0.1.32"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "0955b8137a1df6f1a2e9a37d8a6656291ff0297c1a97c24e0d8425fe2312f79a"
checksum = "c06d3da6113f116aaee68e4d601191614c9053067f9ab7f6edbcb161237daa54"
dependencies = [
"once_cell",
"valuable",
]
[[package]]
name = "tracing-log"
version = "0.2.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "ee855f1f400bd0e5c02d150ae5de3840039a3f54b025156404e34c23c03f47c3"
dependencies = [
"log",
"once_cell",
"tracing-core",
]
[[package]]
name = "tracing-subscriber"
version = "0.3.18"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "ad0f048c97dbd9faa9b7df56362b8ebcaa52adb06b498c050d2f4e32f90a7a8b"
dependencies = [
"nu-ansi-term",
"sharded-slab",
"smallvec",
"thread_local",
"tracing-core",
"tracing-log",
]
[[package]]
@@ -3763,11 +3764,11 @@ name = "update_logger"
version = "1.0.1"
dependencies = [
"anyhow",
"log",
"logger",
"monitor_client",
"termination_signal",
"tokio",
"tracing",
]
[[package]]
@@ -3810,6 +3811,12 @@ dependencies = [
"serde",
]
[[package]]
name = "valuable"
version = "0.1.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "830b7e5d4d90034032940e4ace0d9a9a057e7a45cd94e6c007832e39edb82f6d"
[[package]]
name = "vcpkg"
version = "0.2.15"

View File

@@ -31,14 +31,14 @@ resolver_api = "0.1.6"
parse_csl = "0.1.0"
mungos = "0.5.4"
mongo_indexed = "0.2.2"
serror = "0.1.4"
serror_axum = "0.1.2"
serror = "0.1.5"
serror_axum = "0.1.5"
svi = "0.1.4"
# external
clap = { version = "4.4.13", features = ["derive"] }
clap = { version = "4.4.16", features = ["derive"] }
tokio = { version = "1.35.1", features = ["full"] }
axum = { version = "0.7.3", features = ["ws", "json"] }
axum-extra = { version = "0.9.1", features = ["typed-header"] }
axum = { version = "0.7.4", features = ["ws", "json"] }
axum-extra = { version = "0.9.2", features = ["typed-header"] }
tower = { version = "0.4.13", features = ["timeout"] }
tower-http = { version = "0.5.0", features = ["fs", "cors"] }
reqwest = { version = "0.11.23", features = ["json"] }
@@ -53,10 +53,8 @@ dotenv = "0.15.0"
envy = "0.4.2"
anyhow = "1.0.79"
thiserror = "1.0.56"
log = "0.4.20"
simple_logger = "4.3.3"
# tracing = "0.1.40"
# tracing-subscriber = "0.3.18"
tracing = "0.1.40"
tracing-subscriber = "0.3.18"
bollard = "0.15.0"
derive_builder = "0.12.0"
typeshare = "1.0.1"

View File

@@ -15,6 +15,6 @@ logger.workspace = true
termination_signal.workspace = true
# external
tokio.workspace = true
log.workspace = true
tracing.workspace = true
axum.workspace = true
anyhow.workspace = true

View File

@@ -1,5 +1,5 @@
#[macro_use]
extern crate log;
extern crate tracing;
use std::{net::SocketAddr, str::FromStr};
@@ -9,7 +9,7 @@ use monitor_client::entities::alert::Alert;
use termination_signal::tokio::immediate_term_handle;
async fn app() -> anyhow::Result<()> {
logger::init(log::LevelFilter::Info)?;
logger::init(tracing::Level::INFO);
let socket_addr = SocketAddr::from_str("0.0.0.0:7000").unwrap();

View File

@@ -39,8 +39,7 @@ serde.workspace = true
serde_json.workspace = true
uuid.workspace = true
anyhow.workspace = true
log.workspace = true
simple_logger.workspace = true
tracing.workspace = true
dotenv.workspace = true
envy.workspace = true
reqwest.workspace = true

View File

@@ -33,13 +33,12 @@ pub fn config_load(config_path: &str) -> CoreConfig {
})
}
pub fn into_log_level(value: LogLevel) -> log::LevelFilter {
pub fn into_log_level(value: LogLevel) -> tracing::Level {
match value {
LogLevel::Off => log::LevelFilter::Off,
LogLevel::Error => log::LevelFilter::Error,
LogLevel::Warn => log::LevelFilter::Warn,
LogLevel::Info => log::LevelFilter::Info,
LogLevel::Debug => log::LevelFilter::Debug,
LogLevel::Trace => log::LevelFilter::Trace,
LogLevel::Error => tracing::Level::ERROR,
LogLevel::Warn => tracing::Level::WARN,
LogLevel::Info => tracing::Level::INFO,
LogLevel::Debug => tracing::Level::DEBUG,
LogLevel::Trace => tracing::Level::TRACE,
}
}

View File

@@ -1,5 +1,5 @@
#[macro_use]
extern crate log;
extern crate tracing;
use anyhow::Context;
use axum::{Extension, Router};

View File

@@ -59,7 +59,7 @@ impl State {
config.port = port;
}
logger::init(into_log_level(config.log_level))?;
logger::init(into_log_level(config.log_level));
debug!("loading state");

View File

@@ -21,5 +21,5 @@ anyhow.workspace = true
dotenv.workspace = true
envy.workspace = true
serde.workspace = true
log.workspace = true
tracing.workspace = true
chrono = "0.4"

View File

@@ -1,17 +1,16 @@
#![allow(unused)]
#[macro_use]
extern crate tracing;
use crate::state::State;
#[macro_use]
extern crate log;
mod legacy;
mod migrate;
mod state;
#[tokio::main]
async fn main() -> anyhow::Result<()> {
logger::init(log::LevelFilter::Info)?;
logger::init(tracing::Level::INFO);
info!("starting migrator");

View File

@@ -39,8 +39,7 @@ serde_json.workspace = true
anyhow.workspace = true
bollard.workspace = true
clap.workspace = true
log.workspace = true
simple_logger.workspace = true
tracing.workspace = true
uuid.workspace = true
sysinfo.workspace = true
async-trait.workspace = true

View File

@@ -27,8 +27,8 @@ pub struct CliArgs {
pub extend_config_arrays: bool,
/// Configure the logging level: error, warn, info, debug, trace
#[arg(long, default_value_t = log::LevelFilter::Info)]
pub log_level: log::LevelFilter,
#[arg(long, default_value_t = tracing::Level::INFO)]
pub log_level: tracing::Level,
}
#[derive(Deserialize)]

View File

@@ -1,5 +1,5 @@
#[macro_use]
extern crate log;
extern crate tracing;
pub mod config;
pub mod guard;

View File

@@ -1,5 +1,5 @@
#[macro_use]
extern crate log;
extern crate tracing;
use std::{net::SocketAddr, sync::Arc, time::Instant};

View File

@@ -27,7 +27,7 @@ impl State {
pub async fn load() -> anyhow::Result<Arc<State>> {
let env = Env::load()?;
let args = CliArgs::parse();
logger::init(args.log_level)?;
logger::init(args.log_level);
let config = PeripheryConfig::load(&env, &args)?;
let state = State {
secrets: config.secrets.clone().into(),

11
bin/sync/Cargo.toml Normal file
View File

@@ -0,0 +1,11 @@
[package]
name = "monitor_sync"
version.workspace = true
edition.workspace = true
authors.workspace = true
license.workspace = true
# See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html
[dependencies]
tokio.workspace = true

3
bin/sync/src/main.rs Normal file
View File

@@ -0,0 +1,3 @@
fn main() {
println!("Hello, world!");
}

View File

@@ -15,5 +15,5 @@ logger.workspace = true
termination_signal.workspace = true
# external
tokio.workspace = true
log.workspace = true
tracing.workspace = true
anyhow.workspace = true

View File

@@ -1,11 +1,11 @@
#[macro_use]
extern crate log;
extern crate tracing;
use monitor_client::MonitorClient;
use termination_signal::tokio::immediate_term_handle;
async fn app() -> anyhow::Result<()> {
logger::init(log::LevelFilter::Info)?;
logger::init(tracing::Level::INFO);
info!("v {}", env!("CARGO_PKG_VERSION"));

View File

@@ -118,7 +118,6 @@ pub struct AwsCredentials {
#[derive(Serialize, Deserialize, Debug, Clone, Copy, Default)]
#[serde(rename_all = "lowercase")]
pub enum LogLevel {
Off,
Error,
Warn,
#[default]

View File

@@ -14,4 +14,4 @@ mungos.workspace = true
mongo_indexed.workspace = true
#
anyhow.workspace = true
log.workspace = true
tracing.workspace = true

View File

@@ -1,5 +1,5 @@
#[macro_use]
extern crate log;
extern crate tracing;
use mongo_indexed::{create_index, create_unique_index, Indexed};
use monitor_client::entities::{

View File

@@ -8,6 +8,6 @@ license.workspace = true
# See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html
[dependencies]
log.workspace = true
simple_logger.workspace = true
tracing.workspace = true
tracing-subscriber.workspace = true
anyhow.workspace = true

View File

@@ -1,13 +1,9 @@
use anyhow::Context;
use log::LevelFilter;
use simple_logger::SimpleLogger;
use tracing::level_filters::LevelFilter;
pub fn init(log_level: LevelFilter) -> anyhow::Result<()> {
SimpleLogger::new()
.with_level(log_level)
.env()
.with_colors(true)
.with_utc_timestamps()
pub fn init(log_level: tracing::Level) {
tracing_subscriber::fmt()
.with_level(true)
.with_line_number(true)
.with_max_level(LevelFilter::from(log_level))
.init()
.context("failed to configure logger")
}

View File

@@ -13,6 +13,6 @@ monitor_periphery.workspace = true
reqwest.workspace = true
anyhow.workspace = true
serde_json.workspace = true
log.workspace = true
tracing.workspace = true
resolver_api.workspace = true
serror.workspace = true

View File

@@ -1,5 +1,5 @@
#[macro_use]
extern crate log;
extern crate tracing;
use std::time::Duration;