Browse Source

Only print daemon and dataflows IDs if they're useful

tags/v0.3.12-rc0
Philipp Oppermann 7 months ago
parent
commit
31d7c975fc
Failed to extract signature
4 changed files with 32 additions and 16 deletions
  1. +1
    -1
      binaries/cli/src/command/build/distributed.rs
  2. +3
    -1
      binaries/cli/src/command/start/attach.rs
  3. +4
    -1
      binaries/cli/src/command/start/mod.rs
  4. +24
    -13
      binaries/cli/src/output.rs

+ 1
- 1
binaries/cli/src/command/build/distributed.rs View File

@@ -78,7 +78,7 @@ pub fn wait_until_dataflow_built(
serde_json::from_slice(&raw).context("failed to parse log message");
match parsed {
Ok(log_message) => {
print_log_message(log_message);
print_log_message(log_message, false, true);
}
Err(err) => {
tracing::warn!("failed to parse log message: {err:?}")


+ 3
- 1
binaries/cli/src/command/start/attach.rs View File

@@ -33,6 +33,8 @@ pub fn attach_dataflow(

let nodes = dataflow.resolve_aliases_and_set_defaults()?;

let print_daemon_name = nodes.values().any(|n| n.deploy.is_some());

let working_dir = dataflow_path
.canonicalize()
.context("failed to canonicalize dataflow path")?
@@ -155,7 +157,7 @@ pub fn attach_dataflow(
},
Ok(AttachEvent::Control(control_request)) => control_request,
Ok(AttachEvent::Log(Ok(log_message))) => {
print_log_message(log_message);
print_log_message(log_message, false, print_daemon_name);
continue;
}
Ok(AttachEvent::Log(Err(err))) => {


+ 4
- 1
binaries/cli/src/command/start/mod.rs View File

@@ -56,12 +56,14 @@ pub fn start(
log_level,
)
} else {
let print_daemon_name = dataflow_descriptor.nodes.iter().any(|n| n.deploy.is_some());
// wait until dataflow is started
wait_until_dataflow_started(
dataflow_id,
&mut session,
coordinator_socket,
log::LevelFilter::Info,
print_daemon_name,
)
}
}
@@ -120,6 +122,7 @@ fn wait_until_dataflow_started(
session: &mut Box<TcpRequestReplyConnection>,
coordinator_addr: SocketAddr,
log_level: log::LevelFilter,
print_daemon_id: bool,
) -> eyre::Result<()> {
// subscribe to log messages
let mut log_session = TcpConnection {
@@ -141,7 +144,7 @@ fn wait_until_dataflow_started(
serde_json::from_slice(&raw).context("failed to parse log message");
match parsed {
Ok(log_message) => {
print_log_message(log_message);
print_log_message(log_message, false, print_daemon_id);
}
Err(err) => {
tracing::warn!("failed to parse log message: {err:?}")


+ 24
- 13
binaries/cli/src/output.rs View File

@@ -2,7 +2,11 @@ use colored::Colorize;
use dora_core::build::LogLevelOrStdout;
use dora_message::common::LogMessage;

pub fn print_log_message(log_message: LogMessage) {
pub fn print_log_message(
log_message: LogMessage,
print_dataflow_id: bool,
print_daemon_name: bool,
) {
let LogMessage {
build_id: _,
dataflow_id,
@@ -25,27 +29,34 @@ pub fn print_log_message(log_message: LogMessage) {
},
LogLevelOrStdout::Stdout => "stdout".bright_blue().italic().dimmed(),
};
let dataflow = if let Some(dataflow_id) = dataflow_id {
format!(" dataflow `{dataflow_id}`\t").cyan()
} else {
String::new().cyan()
let dataflow = match dataflow_id {
Some(dataflow_id) if print_dataflow_id => format!("dataflow `{dataflow_id}` ").cyan(),
_ => String::new().cyan(),
};
let daemon = match daemon_id {
Some(id) => match id.machine_id() {
Some(machine_id) => format!(" on daemon `{machine_id}`\t"),
None => " on default daemon\t".to_string(),
Some(id) if print_daemon_name => match id.machine_id() {
Some(machine_id) => format!("on daemon `{machine_id}`"),
None => "on default daemon ".to_string(),
},
None => " on default daemon\t".to_string(),
None if print_daemon_name => "on default daemon".to_string(),
_ => String::new(),
}
.bright_black();
let colon = ":".bright_black().bold();
let node = match node_id {
Some(node_id) => format!(" {node_id}\t").bold(),
None => "".normal(),
Some(node_id) => {
let node_id = node_id.to_string().dimmed().bold();
let padding = if daemon.is_empty() { "" } else { " " };
format!("{node_id}{padding}{daemon}{colon} ")
}
None if daemon.is_empty() => "".into(),
None => format!("{daemon}{colon} "),
};
let target = match target {
Some(target) => format!(" {target}\t").dimmed(),
Some(target) => format!("{target} ").dimmed(),
None => "".normal(),
};

println!("{level}\t{dataflow}{daemon}{node}{target}: {message}");
println!("{node}{level} {target}{dataflow} {message}");
}

Loading…
Cancel
Save