summaryrefslogtreecommitdiff
path: root/src/bindings.rs
diff options
context:
space:
mode:
authorDaniel Silverstone <dsilvers@digital-scurf.org>2021-09-04 14:48:36 +0100
committerDaniel Silverstone <dsilvers@digital-scurf.org>2021-09-04 14:48:36 +0100
commit614014041e493e1a4b6d5729320b42af39d89c68 (patch)
tree8f417718b3ac318a883b5e324f2c567914e22426 /src/bindings.rs
parente11811d6425a8caced83fd2d5ebce55b04c6c1c2 (diff)
downloadsubplot-614014041e493e1a4b6d5729320b42af39d89c68.tar.gz
tracing: Add a bunch of TRACE level tracing
Signed-off-by: Daniel Silverstone <dsilvers@digital-scurf.org>
Diffstat (limited to 'src/bindings.rs')
-rw-r--r--src/bindings.rs16
1 files changed, 15 insertions, 1 deletions
diff --git a/src/bindings.rs b/src/bindings.rs
index 98de428..5909316 100644
--- a/src/bindings.rs
+++ b/src/bindings.rs
@@ -9,11 +9,13 @@ use serde::{Deserialize, Serialize};
use serde_aux::prelude::*;
use std::collections::HashMap;
+use std::fmt::Debug;
use std::path::Path;
use std::str::FromStr;
use lazy_static::lazy_static;
use regex::{escape, Regex, RegexBuilder};
+use tracing::{event, instrument, Level};
#[derive(Debug, PartialEq, Eq, Hash, Copy, Clone, Serialize, Deserialize)]
#[serde(rename_all = "lowercase")]
@@ -465,6 +467,7 @@ impl Bindings {
}
/// Add bindings from a YAML string
+ #[instrument(level = "trace", skip(self, yaml))]
pub fn add_from_yaml(&mut self, yaml: &str) -> Result<()> {
let bindings: Vec<ParsedBindingWrapper> = serde_yaml::from_str(yaml)?;
for wrapper in bindings {
@@ -502,12 +505,14 @@ impl Bindings {
}
/// Add bindings from a file.
+ #[instrument(level = "trace", skip(self))]
pub fn add_from_file<P>(&mut self, filename: P) -> Result<()>
where
- P: AsRef<Path>,
+ P: AsRef<Path> + Debug,
{
let yaml = resource::read_as_string(filename.as_ref())
.map_err(|e| SubplotError::BindingsFileNotFound(filename.as_ref().into(), e))?;
+ event!(Level::TRACE, "Loaded file content");
self.add_from_yaml(&yaml)?;
Ok(())
}
@@ -522,6 +527,7 @@ impl Bindings {
}
}
+#[instrument(level = "trace", skip(parsed))]
fn from_hashmap(parsed: &ParsedBinding) -> Result<Binding> {
let given: i32 = parsed.given.is_some().into();
let when: i32 = parsed.when.is_some().into();
@@ -557,6 +563,14 @@ fn from_hashmap(parsed: &ParsedBinding) -> Result<Binding> {
regex_from_simple_pattern(pattern, parsed.regex.is_some(), &mut types)?
};
+ event!(
+ Level::TRACE,
+ ?kind,
+ ?pattern,
+ ?types,
+ "Successfully prepared binding"
+ );
+
Binding::new(
kind,
&pattern,