Skip to content

Commit 0db4838

Browse files
committed
add some tracing instrumentation
1 parent 4beb054 commit 0db4838

File tree

3 files changed

+14
-8
lines changed

3 files changed

+14
-8
lines changed

Cargo.toml

+1-1
Original file line numberDiff line numberDiff line change
@@ -39,7 +39,7 @@ cast = "0.3"
3939
clap = "2.33"
4040
clap_conf = "0.1.5"
4141
inflections = "1.1"
42-
tracing = { version = "0.1", default-features = false, features = ["std"] }
42+
tracing = { version = "0.1", default-features = false, features = ["std", "attributes"] }
4343
tracing-subscriber = { version = "0.3", default-features = false, features = ["std", "ansi", "fmt", "env-filter", "tracing-log"] }
4444

4545
quote = "1.0"

src/generate/peripheral.rs

+12-7
Original file line numberDiff line numberDiff line change
@@ -20,6 +20,7 @@ use anyhow::{anyhow, bail, Context, Result};
2020

2121
use crate::generate::register;
2222

23+
#[tracing::instrument(skip_all,fields(peripheral.name = %p_original.name))]
2324
pub fn render(
2425
p_original: &Peripheral,
2526
all_peripherals: &[Peripheral],
@@ -179,14 +180,14 @@ pub fn render(
179180
debug!("Pushing cluster information into output");
180181
// Push all cluster related information into the peripheral module
181182
for c in &clusters {
182-
trace!("Cluster: {}", c.name);
183-
mod_items.extend(cluster_block(c, &defaults, p, all_peripherals, config)?);
183+
trace!("Pushing cluster: {}", c.name);
184+
mod_items.extend(render_cluster_block(c, &defaults, p, all_peripherals, config)?);
184185
}
185186

186187
debug!("Pushing register information into output");
187188
// Push all register related information into the peripheral module
188189
for reg in registers {
189-
trace!("Register: {}", reg.name);
190+
trace!("Pushing register: {}", reg.name);
190191
match register::render(reg, registers, p, all_peripherals, &defaults, config) {
191192
Ok(rendered_reg) => mod_items.extend(rendered_reg),
192193
Err(e) => {
@@ -580,6 +581,7 @@ fn register_or_cluster_block(
580581

581582
/// Expand a list of parsed `Register`s or `Cluster`s, and render them to
582583
/// `RegisterBlockField`s containing `Field`s.
584+
#[tracing::instrument(skip_all, fields(module = name))]
583585
fn expand(
584586
ercs: &[RegisterCluster],
585587
defs: &RegisterProperties,
@@ -594,7 +596,7 @@ fn expand(
594596
RegisterCluster::Register(register) => {
595597
match expand_register(register, defs, name, config) {
596598
Ok(expanded_reg) => {
597-
trace!("Register: {}", register.name);
599+
trace!("Expanding register: {}", register.name);
598600
ercs_expanded.extend(expanded_reg);
599601
}
600602
Err(e) => {
@@ -606,7 +608,7 @@ fn expand(
606608
RegisterCluster::Cluster(cluster) => {
607609
match expand_cluster(cluster, defs, name, config) {
608610
Ok(expanded_cluster) => {
609-
trace!("Cluster: {}", cluster.name);
611+
trace!("Expanding cluster: {}", cluster.name);
610612
ercs_expanded.extend(expanded_cluster);
611613
}
612614
Err(e) => {
@@ -682,6 +684,7 @@ fn cluster_info_size_in_bits(
682684
}
683685

684686
/// Render a given cluster (and any children) into `RegisterBlockField`s
687+
#[tracing::instrument(skip_all, fields(cluster.name = cluster.name(), module = name))]
685688
fn expand_cluster(
686689
cluster: &Cluster,
687690
defs: &RegisterProperties,
@@ -744,6 +747,7 @@ fn expand_cluster(
744747

745748
/// If svd register arrays can't be converted to rust arrays (non sequential addresses, non
746749
/// numeral indexes, or not containing all elements from 0 to size) they will be expanded
750+
#[tracing::instrument(skip_all, fields(register.name = %register.name, module = name))]
747751
fn expand_register(
748752
register: &Register,
749753
defs: &RegisterProperties,
@@ -806,7 +810,8 @@ fn expand_register(
806810
}
807811

808812
/// Render a Cluster Block into `TokenStream`
809-
fn cluster_block(
813+
#[tracing::instrument(skip_all, fields(peripheral.name = %p.name, cluster.name = %c.name()))]
814+
fn render_cluster_block(
810815
c: &Cluster,
811816
defaults: &RegisterProperties,
812817
p: &Peripheral,
@@ -852,7 +857,7 @@ fn cluster_block(
852857
// Generate the sub-cluster blocks.
853858
let clusters = util::only_clusters(&c.children);
854859
for c in &clusters {
855-
mod_items.extend(cluster_block(c, &defaults, p, all_peripherals, config)?);
860+
mod_items.extend(render_cluster_block(c, &defaults, p, all_peripherals, config)?);
856861
}
857862

858863
Ok(quote! {

src/generate/register.rs

+1
Original file line numberDiff line numberDiff line change
@@ -11,6 +11,7 @@ use quote::{quote, ToTokens};
1111
use crate::util::{self, Config, ToSanitizedSnakeCase, ToSanitizedUpperCase, U32Ext};
1212
use anyhow::{anyhow, Result};
1313

14+
#[tracing::instrument(skip_all, fields(register.name = %register.name))]
1415
pub fn render(
1516
register: &Register,
1617
all_registers: &[&Register],

0 commit comments

Comments
 (0)