feat(tvix/tracing): introduce common tvix-tracing crate
Introduce a new common crate that contains tracing boilerplate which then can be used in the cli, tvix-store and tvix-build crates. It has otlp as an optional feature, which is currently only used by tvix-store. Change-Id: I41468ac4d9c65174515d721513b96fea463d6ed2 Reviewed-on: https://cl.tvl.fyi/c/depot/+/11758 Tested-by: BuildkiteCI Reviewed-by: flokli <flokli@flokli.de> Autosubmit: Simon Hauser <simon.hauser@helsinki-systems.de>
This commit is contained in:
parent
11a6ff7706
commit
825d498908
15 changed files with 271 additions and 203 deletions
|
|
@ -7,7 +7,6 @@ use tokio_listener::SystemOptions;
|
|||
use tokio_listener::UserOptions;
|
||||
use tonic::{self, transport::Server};
|
||||
use tracing::{info, Level};
|
||||
use tracing_subscriber::prelude::*;
|
||||
use tvix_build::{
|
||||
buildservice,
|
||||
proto::{build_service_server::BuildServiceServer, GRPCBuildServiceWrapper},
|
||||
|
|
@ -23,8 +22,12 @@ use tvix_castore::proto::FILE_DESCRIPTOR_SET as CASTORE_FILE_DESCRIPTOR_SET;
|
|||
#[derive(Parser)]
|
||||
#[command(author, version, about, long_about = None)]
|
||||
struct Cli {
|
||||
#[arg(long)]
|
||||
log_level: Option<Level>,
|
||||
/// A global log level to use when printing logs.
|
||||
/// It's also possible to set `RUST_LOG` according to
|
||||
/// `tracing_subscriber::filter::EnvFilter`, which will always have
|
||||
/// priority.
|
||||
#[arg(long, default_value_t=Level::INFO)]
|
||||
log_level: Level,
|
||||
|
||||
#[command(subcommand)]
|
||||
command: Commands,
|
||||
|
|
@ -51,16 +54,7 @@ enum Commands {
|
|||
async fn main() -> Result<(), Box<dyn std::error::Error>> {
|
||||
let cli = Cli::parse();
|
||||
|
||||
// configure log settings
|
||||
let level = cli.log_level.unwrap_or(Level::INFO);
|
||||
|
||||
tracing_subscriber::registry()
|
||||
.with(
|
||||
tracing_subscriber::fmt::Layer::new()
|
||||
.with_writer(std::io::stderr.with_max_level(level))
|
||||
.pretty(),
|
||||
)
|
||||
.init();
|
||||
tvix_tracing::init(cli.log_level)?;
|
||||
|
||||
match cli.command {
|
||||
Commands::Daemon {
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue