From e8e296fcb9e2a6ee70963e9e2d1019d85435db0f Mon Sep 17 00:00:00 2001 From: Marco Neumann Date: Tue, 13 Sep 2022 09:34:59 +0200 Subject: [PATCH 1/8] update ahash to version 0.8 --- Cargo.toml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Cargo.toml b/Cargo.toml index 6176ff96..f8969e9b 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -22,7 +22,7 @@ multithreaded = ["dashmap", "crossbeam-utils", "crossbeam-channel", "num_cpus"] nameattr = ["indexmap"] [dependencies] -ahash = "0.7" +ahash = "0.8" atty = "0.2" crossbeam-utils = { version = "0.8", optional = true } crossbeam-channel = { version = "0.5", optional = true } From e9615a67a9c3562da2dd7135f7fa18ed022436ef Mon Sep 17 00:00:00 2001 From: Marco Neumann Date: Tue, 13 Sep 2022 10:03:58 +0200 Subject: [PATCH 2/8] update quick-xml to version 0.24 --- Cargo.lock | 9 +- Cargo.toml | 2 +- src/flamegraph/mod.rs | 36 +++--- src/flamegraph/svg.rs | 105 ++++++++---------- .../flamegraph/options/font_type_cursive.svg | 4 +- .../flamegraph/options/font_type_fantasy.svg | 4 +- .../options/font_type_monospace.svg | 4 +- .../options/font_type_sans-serif.svg | 4 +- .../flamegraph/options/font_type_serif.svg | 4 +- .../flamegraph/options/font_type_simple.svg | 4 +- .../options/font_type_with_quote.svg | 4 +- 11 files changed, 89 insertions(+), 91 deletions(-) diff --git a/Cargo.lock b/Cargo.lock index f8d2213d..b59c73b5 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -10,10 +10,11 @@ checksum = "aae1277d39aeec15cb388266ecc24b11c80469deae6067e17a1a7aa9e5c1f234" [[package]] name = "ahash" -version = "0.7.6" +version = "0.8.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fcb51a0695d8f838b1ee009b3fbf66bda078cd64590202a864a8f3e8c4315c47" +checksum = "57e6e951cfbb2db8de1828d49073a113a29fd7117b1596caa781a258c7e38d72" dependencies = [ + "cfg-if", "getrandom", "once_cell", "version_check", @@ -667,9 +668,9 @@ dependencies = [ [[package]] name = "quick-xml" -version = "0.23.1" +version = "0.24.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "11bafc859c6815fbaffbbbf4229ecb767ac913fecb27f9ad4343662e9ef099ea" +checksum = "37dddbbe9df96afafcb8027fcf263971b726530e12f0787f620a7ba5b4846081" dependencies = [ "memchr", ] diff --git a/Cargo.toml b/Cargo.toml index f8969e9b..2061e357 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -33,7 +33,7 @@ itoa = "1" log = "0.4" num_cpus = { version = "1.10", optional = true } num-format = { version = "0.4.3", default-features = false } -quick-xml = { version = "0.23", default-features = false } +quick-xml = { version = "0.24", default-features = false } rgb = "0.8.13" str_stack = "0.1" clap = { version = "3.0.1", optional = true, features = ["derive"] } diff --git a/src/flamegraph/mod.rs b/src/flamegraph/mod.rs index ec149d7a..991497b6 100644 --- a/src/flamegraph/mod.rs +++ b/src/flamegraph/mod.rs @@ -478,7 +478,7 @@ where extra: None, }, )?; - svg.write_event(Event::End(BytesEnd::borrowed(b"svg")))?; + svg.write_event(Event::End(BytesEnd::new("svg")))?; svg.write_event(Event::Eof)?; return Err(quick_xml::Error::Io(io::Error::new( io::ErrorKind::InvalidData, @@ -526,23 +526,21 @@ where let mut thread_rng = rand::thread_rng(); // structs to reuse across loops to avoid allocations - let mut cache_g = Event::Start(BytesStart::owned_name("g")); - let mut cache_a = Event::Start(BytesStart::owned_name("a")); - let mut cache_rect = Event::Empty(BytesStart::owned_name("rect")); - let cache_g_end = Event::End(BytesEnd::borrowed(b"g")); - let cache_a_end = Event::End(BytesEnd::borrowed(b"a")); + let mut cache_g = Event::Start(BytesStart::new("g")); + let mut cache_a = Event::Start(BytesStart::new("a")); + let mut cache_rect = Event::Empty(BytesStart::new("rect")); + let cache_g_end = Event::End(BytesEnd::new("g")); + let cache_a_end = Event::End(BytesEnd::new("a")); // create frames container let container_x = format!("{}", XPAD); let container_width = format!("{}", image_width as usize - XPAD - XPAD); - svg.write_event(Event::Start( - BytesStart::borrowed_name(b"svg").with_attributes(vec![ - ("id", "frames"), - ("x", &container_x), - ("width", &container_width), - ("total_samples", &format!("{}", timemax)), - ]), - ))?; + svg.write_event(Event::Start(BytesStart::new("svg").with_attributes(vec![ + ("id", "frames"), + ("x", &container_x), + ("width", &container_width), + ("total_samples", &format!("{}", timemax)), + ])))?; // draw frames let mut samples_txt_buffer = num_format::Buffer::default(); @@ -625,9 +623,9 @@ where &buffer[info], )?; - svg.write_event(Event::Start(BytesStart::borrowed_name(b"title")))?; - svg.write_event(Event::Text(BytesText::from_plain_str(title)))?; - svg.write_event(Event::End(BytesEnd::borrowed(b"title")))?; + svg.write_event(Event::Start(BytesStart::new("title")))?; + svg.write_event(Event::Text(BytesText::new(title)))?; + svg.write_event(Event::End(BytesEnd::new("title")))?; // select the color of the rectangle let color = if frame.location.function == "--" { @@ -710,8 +708,8 @@ where } } - svg.write_event(Event::End(BytesEnd::borrowed(b"svg")))?; - svg.write_event(Event::End(BytesEnd::borrowed(b"svg")))?; + svg.write_event(Event::End(BytesEnd::new("svg")))?; + svg.write_event(Event::End(BytesEnd::new("svg")))?; svg.write_event(Event::Eof)?; svg.into_inner().flush()?; diff --git a/src/flamegraph/svg.rs b/src/flamegraph/svg.rs index 63416a6e..6b2d7b33 100644 --- a/src/flamegraph/svg.rs +++ b/src/flamegraph/svg.rs @@ -3,7 +3,7 @@ use std::cell::RefCell; use std::io::prelude::*; use std::iter; -use quick_xml::events::{BytesCData, BytesEnd, BytesStart, BytesText, Event}; +use quick_xml::events::{BytesCData, BytesDecl, BytesEnd, BytesStart, BytesText, Event}; use quick_xml::Writer; use str_stack::StrStack; @@ -62,27 +62,25 @@ pub(super) fn write_header( where W: Write, { - svg.write(br#""#)?; - svg.write(br#""#)?; + svg.write_event(Event::Decl(BytesDecl::new("1.0", None, Some("no"))))?; + svg.write_event(Event::DocType(BytesText::from_escaped(r#"svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd""#)))?; let imagewidth = opt.image_width.unwrap_or(super::DEFAULT_IMAGE_WIDTH); - svg.write_event(Event::Start( - BytesStart::borrowed_name(b"svg").with_attributes(vec![ - ("version", "1.1"), - ("width", &*format!("{}", imagewidth)), - ("height", &*format!("{}", imageheight)), - ("onload", "init(evt)"), - ("viewBox", &*format!("0 0 {} {}", imagewidth, imageheight)), - ("xmlns", "http://www.w3.org/2000/svg"), - ("xmlns:xlink", "http://www.w3.org/1999/xlink"), - ("xmlns:fg", "http://github.com/jonhoo/inferno"), - ]), - ))?; - svg.write_event(Event::Comment(BytesText::from_plain_str( + svg.write_event(Event::Start(BytesStart::new("svg").with_attributes(vec![ + ("version", "1.1"), + ("width", &*format!("{}", imagewidth)), + ("height", &*format!("{}", imageheight)), + ("onload", "init(evt)"), + ("viewBox", &*format!("0 0 {} {}", imagewidth, imageheight)), + ("xmlns", "http://www.w3.org/2000/svg"), + ("xmlns:xlink", "http://www.w3.org/1999/xlink"), + ("xmlns:fg", "http://github.com/jonhoo/inferno"), + ])))?; + svg.write_event(Event::Comment(BytesText::new( "Flame graph stack visualization. \ See https://github.com/brendangregg/FlameGraph for latest version, \ and http://www.brendangregg.com/flamegraphs.html for examples.", )))?; - svg.write_event(Event::Comment(BytesText::from_plain_str( + svg.write_event(Event::Comment(BytesText::new( format!("NOTES: {}", opt.notes).as_str(), )))?; Ok(()) @@ -96,28 +94,22 @@ pub(super) fn write_prelude<'a, W>( where W: Write, { - svg.write_event(Event::Start(BytesStart::borrowed_name(b"defs")))?; - svg.write_event(Event::Start(BytesStart::borrowed( - br#"linearGradient id="background" y1="0" y2="1" x1="0" x2="0""#, + svg.write_event(Event::Start(BytesStart::new("defs")))?; + svg.write_event(Event::Start(BytesStart::from_content( + r#"linearGradient id="background" y1="0" y2="1" x1="0" x2="0""#, "linearGradient".len(), )))?; - svg.write_event(Event::Empty( - BytesStart::borrowed_name(b"stop").with_attributes( - iter::once(("stop-color", &*style_options.bgcolor1)) - .chain(iter::once(("offset", "5%"))), - ), - ))?; - svg.write_event(Event::Empty( - BytesStart::borrowed_name(b"stop").with_attributes( - iter::once(("stop-color", &*style_options.bgcolor2)) - .chain(iter::once(("offset", "95%"))), - ), - ))?; - svg.write_event(Event::End(BytesEnd::borrowed(b"linearGradient")))?; - svg.write_event(Event::End(BytesEnd::borrowed(b"defs")))?; + svg.write_event(Event::Empty(BytesStart::new("stop").with_attributes( + iter::once(("stop-color", &*style_options.bgcolor1)).chain(iter::once(("offset", "5%"))), + )))?; + svg.write_event(Event::Empty(BytesStart::new("stop").with_attributes( + iter::once(("stop-color", &*style_options.bgcolor2)).chain(iter::once(("offset", "95%"))), + )))?; + svg.write_event(Event::End(BytesEnd::new("linearGradient")))?; + svg.write_event(Event::End(BytesEnd::new("defs")))?; svg.write_event(Event::Start( - BytesStart::borrowed_name(b"style").with_attributes(iter::once(("type", "text/css"))), + BytesStart::new("style").with_attributes(iter::once(("type", "text/css"))), ))?; let font_type: Cow = if GENERIC_FONT_FAMILIES.contains(&opt.font_type.as_str()) { @@ -127,7 +119,7 @@ where }; let titlesize = &opt.font_size + 5; - svg.write_event(Event::Text(BytesText::from_escaped_str(&format!( + svg.write_event(Event::Text(BytesText::from_escaped(&format!( " text {{ font-family:{}; font-size:{}px; fill:rgb(0,0,0); }} #title {{ text-anchor:middle; font-size:{}px; }} @@ -135,21 +127,18 @@ text {{ font-family:{}; font-size:{}px; fill:rgb(0,0,0); }} font_type, &opt.font_size, titlesize, ))))?; if let Some(strokecolor) = &style_options.strokecolor { - svg.write_event(Event::Text(BytesText::from_escaped_str(&format!( + svg.write_event(Event::Text(BytesText::from_escaped(&format!( "#frames > g > rect {{ stroke:{}; stroke-width:1; }}\n", strokecolor ))))?; } - svg.write_event(Event::Text(BytesText::from_escaped_str(include_str!( - "flamegraph.css" - ))))?; - svg.write_event(Event::End(BytesEnd::borrowed(b"style")))?; + svg.write_event(Event::Text(BytesText::from_escaped(include_str!("flamegraph.css"))))?; + svg.write_event(Event::End(BytesEnd::new("style")))?; svg.write_event(Event::Start( - BytesStart::borrowed_name(b"script") - .with_attributes(iter::once(("type", "text/ecmascript"))), + BytesStart::new("script").with_attributes(iter::once(("type", "text/ecmascript"))), ))?; - svg.write_event(Event::CData(BytesCData::from_str(&format!( + svg.write_event(Event::CData(BytesCData::new(&format!( " var nametype = {}; var fontsize = {}; @@ -169,21 +158,17 @@ text {{ font-family:{}; font-size:{}px; fill:rgb(0,0,0); }} opt.text_truncate_direction == TextTruncateDirection::Right ))))?; if !opt.no_javascript { - svg.write_event(Event::CData(BytesCData::from_str(include_str!( - "flamegraph.js" - ))))?; + svg.write_event(Event::CData(BytesCData::new(include_str!("flamegraph.js"))))?; } - svg.write_event(Event::End(BytesEnd::borrowed(b"script")))?; + svg.write_event(Event::End(BytesEnd::new("script")))?; - svg.write_event(Event::Empty( - BytesStart::borrowed_name(b"rect").with_attributes(vec![ - ("x", "0"), - ("y", "0"), - ("width", "100%"), - ("height", &*format!("{}", style_options.imageheight)), - ("fill", "url(#background)"), - ]), - ))?; + svg.write_event(Event::Empty(BytesStart::new("rect").with_attributes(vec![ + ("x", "0"), + ("y", "0"), + ("width", "100%"), + ("height", &*format!("{}", style_options.imageheight)), + ("fill", "url(#background)"), + ])))?; // We don't care too much about allocating just for the prelude let mut buf = StrStack::new(); @@ -284,7 +269,7 @@ where thread_local! { // reuse for all text elements to avoid allocations - static TEXT: RefCell> = RefCell::new(Event::Start(BytesStart::owned_name("text"))) + static TEXT: RefCell> = RefCell::new(Event::Start(BytesStart::new("text"))) }; TEXT.with(|start_event| { if let Event::Start(ref mut text) = *start_event.borrow_mut() { @@ -304,8 +289,8 @@ where TextArgument::String(ref s) => s, TextArgument::FromBuffer(i) => &buf[i], }; - svg.write_event(Event::Text(BytesText::from_plain_str(s)))?; - svg.write_event(Event::End(BytesEnd::borrowed(b"text"))) + svg.write_event(Event::Text(BytesText::new(s)))?; + svg.write_event(Event::End(BytesEnd::new("text"))) } // Imported from the `enquote` crate @ 1.0.3. diff --git a/tests/data/flamegraph/options/font_type_cursive.svg b/tests/data/flamegraph/options/font_type_cursive.svg index 4e87db51..37c1bbe5 100644 --- a/tests/data/flamegraph/options/font_type_cursive.svg +++ b/tests/data/flamegraph/options/font_type_cursive.svg @@ -1,4 +1,6 @@ - + + + diff --git a/tests/data/flamegraph/options/font_type_fantasy.svg b/tests/data/flamegraph/options/font_type_fantasy.svg index 4af0b171..02cc231b 100644 --- a/tests/data/flamegraph/options/font_type_fantasy.svg +++ b/tests/data/flamegraph/options/font_type_fantasy.svg @@ -1,4 +1,6 @@ - + + + diff --git a/tests/data/flamegraph/options/font_type_monospace.svg b/tests/data/flamegraph/options/font_type_monospace.svg index d99cb67a..4da6d041 100644 --- a/tests/data/flamegraph/options/font_type_monospace.svg +++ b/tests/data/flamegraph/options/font_type_monospace.svg @@ -1,4 +1,6 @@ - + + + diff --git a/tests/data/flamegraph/options/font_type_sans-serif.svg b/tests/data/flamegraph/options/font_type_sans-serif.svg index bc02a734..912a2768 100644 --- a/tests/data/flamegraph/options/font_type_sans-serif.svg +++ b/tests/data/flamegraph/options/font_type_sans-serif.svg @@ -1,4 +1,6 @@ - + + + diff --git a/tests/data/flamegraph/options/font_type_serif.svg b/tests/data/flamegraph/options/font_type_serif.svg index 0b18e81b..b6e76a95 100644 --- a/tests/data/flamegraph/options/font_type_serif.svg +++ b/tests/data/flamegraph/options/font_type_serif.svg @@ -1,4 +1,6 @@ - + + + diff --git a/tests/data/flamegraph/options/font_type_simple.svg b/tests/data/flamegraph/options/font_type_simple.svg index fdc23053..5c0253a1 100644 --- a/tests/data/flamegraph/options/font_type_simple.svg +++ b/tests/data/flamegraph/options/font_type_simple.svg @@ -1,4 +1,6 @@ - + + + diff --git a/tests/data/flamegraph/options/font_type_with_quote.svg b/tests/data/flamegraph/options/font_type_with_quote.svg index eb957fb6..2f630377 100644 --- a/tests/data/flamegraph/options/font_type_with_quote.svg +++ b/tests/data/flamegraph/options/font_type_with_quote.svg @@ -1,4 +1,6 @@ - + + + From 67e4d2d5f35033e3f13c3449a6e4a9ce3cdc054e Mon Sep 17 00:00:00 2001 From: Marco Neumann Date: Tue, 13 Sep 2022 10:05:15 +0200 Subject: [PATCH 3/8] fix clippy warnings --- src/flamegraph/color/mod.rs | 2 +- tests/common/collapse.rs | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/src/flamegraph/color/mod.rs b/src/flamegraph/color/mod.rs index 03a6faac..2cbaaecb 100644 --- a/src/flamegraph/color/mod.rs +++ b/src/flamegraph/color/mod.rs @@ -205,7 +205,7 @@ impl FromStr for StrokeColor { return Ok(StrokeColor::None); } parse_flat_bgcolor(s) - .map(|c| StrokeColor::Color(c)) + .map(StrokeColor::Color) .ok_or_else(|| format!("unknown color: {}", s)) } } diff --git a/tests/common/collapse.rs b/tests/common/collapse.rs index 1a1c1689..f272b3be 100644 --- a/tests/common/collapse.rs +++ b/tests/common/collapse.rs @@ -15,7 +15,7 @@ where let mut line_num = 1; for line in result.lines() { let line = if strip_quotes { - line.unwrap().replace("\"", "").replace("'", "") + line.unwrap().replace('\"', "").replace('\'', "") } else { line.unwrap() }; From 87f4169cfe8d57a3ada2b57e1f17c35bb8bb8d0f Mon Sep 17 00:00:00 2001 From: Marco Neumann Date: Mon, 19 Sep 2022 18:05:27 +0200 Subject: [PATCH 4/8] update quick-xml to version 0.25 --- Cargo.lock | 4 ++-- Cargo.toml | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/Cargo.lock b/Cargo.lock index b59c73b5..a5c89efd 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -668,9 +668,9 @@ dependencies = [ [[package]] name = "quick-xml" -version = "0.24.1" +version = "0.25.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "37dddbbe9df96afafcb8027fcf263971b726530e12f0787f620a7ba5b4846081" +checksum = "58e21a144a0ffb5fad7b464babcdab934a325ad69b7c0373bcfef5cbd9799ca9" dependencies = [ "memchr", ] diff --git a/Cargo.toml b/Cargo.toml index 2061e357..2546b970 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -33,7 +33,7 @@ itoa = "1" log = "0.4" num_cpus = { version = "1.10", optional = true } num-format = { version = "0.4.3", default-features = false } -quick-xml = { version = "0.24", default-features = false } +quick-xml = { version = "0.25", default-features = false } rgb = "0.8.13" str_stack = "0.1" clap = { version = "3.0.1", optional = true, features = ["derive"] } From 542a0643d220040c60f7db9557f6a807a9a09f36 Mon Sep 17 00:00:00 2001 From: Marco Neumann Date: Mon, 17 Oct 2022 09:08:11 +0200 Subject: [PATCH 5/8] rustfmt --- src/flamegraph/svg.rs | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/src/flamegraph/svg.rs b/src/flamegraph/svg.rs index 6b2d7b33..4995b505 100644 --- a/src/flamegraph/svg.rs +++ b/src/flamegraph/svg.rs @@ -132,7 +132,9 @@ text {{ font-family:{}; font-size:{}px; fill:rgb(0,0,0); }} strokecolor ))))?; } - svg.write_event(Event::Text(BytesText::from_escaped(include_str!("flamegraph.css"))))?; + svg.write_event(Event::Text(BytesText::from_escaped(include_str!( + "flamegraph.css" + ))))?; svg.write_event(Event::End(BytesEnd::new("style")))?; svg.write_event(Event::Start( From dd6b1cd87f26f8c8484accacce1d41f3a22c4553 Mon Sep 17 00:00:00 2001 From: Marco Neumann Date: Tue, 25 Oct 2022 10:30:37 +0200 Subject: [PATCH 6/8] update quick-xml to version 0.26 --- Cargo.lock | 4 ++-- Cargo.toml | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/Cargo.lock b/Cargo.lock index a5c89efd..9294ee14 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -668,9 +668,9 @@ dependencies = [ [[package]] name = "quick-xml" -version = "0.25.0" +version = "0.26.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "58e21a144a0ffb5fad7b464babcdab934a325ad69b7c0373bcfef5cbd9799ca9" +checksum = "7f50b1c63b38611e7d4d7f68b82d3ad0cc71a2ad2e7f61fc10f1328d917c93cd" dependencies = [ "memchr", ] diff --git a/Cargo.toml b/Cargo.toml index 2546b970..d0747d38 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -33,7 +33,7 @@ itoa = "1" log = "0.4" num_cpus = { version = "1.10", optional = true } num-format = { version = "0.4.3", default-features = false } -quick-xml = { version = "0.25", default-features = false } +quick-xml = { version = "0.26", default-features = false } rgb = "0.8.13" str_stack = "0.1" clap = { version = "3.0.1", optional = true, features = ["derive"] } From 5bf733e760bd2422a2870922a2f5cad2b42fd19e Mon Sep 17 00:00:00 2001 From: Marco Neumann Date: Tue, 25 Oct 2022 10:35:08 +0200 Subject: [PATCH 7/8] fix clippy warning --- src/flamegraph/color/palettes.rs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/flamegraph/color/palettes.rs b/src/flamegraph/color/palettes.rs index 9ace69e6..fbccd89b 100644 --- a/src/flamegraph/color/palettes.rs +++ b/src/flamegraph/color/palettes.rs @@ -73,7 +73,7 @@ pub(super) mod python { part.strip_prefix("python") .or_else(|| part.strip_prefix("Python")) .map_or(false, |version| { - version.chars().all(|c| c.is_digit(10) || c == '.') + version.chars().all(|c| c.is_ascii_digit() || c == '.') }) }) || name.starts_with(" Date: Tue, 25 Oct 2022 10:38:30 +0200 Subject: [PATCH 8/8] re-bless tests --- tests/data/flamegraph/austin/flame.svg | 4 +++- tests/data/flamegraph/colors/async-profiler-java.svg | 4 +++- tests/data/flamegraph/colors/deterministic.svg | 4 +++- tests/data/flamegraph/colors/java.svg | 4 +++- tests/data/flamegraph/colors/js.svg | 4 +++- tests/data/flamegraph/differential/diff-negated.svg | 4 +++- tests/data/flamegraph/differential/diff.svg | 4 +++- .../flamegraph/example-perf-stacks/example-perf-stacks.svg | 4 +++- tests/data/flamegraph/factor/factor-2.5.svg | 4 +++- tests/data/flamegraph/flamechart/flame.svg | 4 +++- .../flamegraph/fractional-samples/fractional-reversed.svg | 4 +++- tests/data/flamegraph/grey-frames/grey-frames.svg | 4 +++- tests/data/flamegraph/inverted/inverted.svg | 4 +++- tests/data/flamegraph/nameattr/nameattr.svg | 4 +++- .../flamegraph/nameattr/nameattr_duplicate_attributes.svg | 4 +++- tests/data/flamegraph/narrow-blocks/narrow-blocks.svg | 4 +++- tests/data/flamegraph/options/colordiffusion.svg | 4 +++- tests/data/flamegraph/options/count_name_simple.svg | 4 +++- tests/data/flamegraph/options/count_name_with_symbols.svg | 4 +++- tests/data/flamegraph/options/default.svg | 4 +++- tests/data/flamegraph/options/name_type_simple.svg | 4 +++- tests/data/flamegraph/options/name_type_with_backslash.svg | 4 +++- tests/data/flamegraph/options/name_type_with_quote.svg | 4 +++- tests/data/flamegraph/options/notes_simple.svg | 4 +++- tests/data/flamegraph/options/notes_with_symbols.svg | 4 +++- tests/data/flamegraph/options/search_color.svg | 4 +++- tests/data/flamegraph/options/stroke_color.svg | 4 +++- tests/data/flamegraph/options/subtitle_simple.svg | 4 +++- tests/data/flamegraph/options/subtitle_with_symbols.svg | 4 +++- tests/data/flamegraph/options/title_simple.svg | 4 +++- tests/data/flamegraph/options/title_with_symbols.svg | 4 +++- tests/data/flamegraph/options/truncate-right.svg | 4 +++- tests/data/flamegraph/palette-map/consistent-palette.svg | 4 +++- .../perf-vertx-stacks-01-collapsed-all-reversed-stacks.svg | 4 +++- .../perf-vertx-stacks/perf-vertx-stacks-01-collapsed-all.svg | 4 +++- 35 files changed, 105 insertions(+), 35 deletions(-) diff --git a/tests/data/flamegraph/austin/flame.svg b/tests/data/flamegraph/austin/flame.svg index 45452b5e..f3979ece 100644 --- a/tests/data/flamegraph/austin/flame.svg +++ b/tests/data/flamegraph/austin/flame.svg @@ -1,4 +1,6 @@ - + + + diff --git a/tests/data/flamegraph/colors/async-profiler-java.svg b/tests/data/flamegraph/colors/async-profiler-java.svg index 163b99ce..60b182e2 100644 --- a/tests/data/flamegraph/colors/async-profiler-java.svg +++ b/tests/data/flamegraph/colors/async-profiler-java.svg @@ -1,4 +1,6 @@ - + + + diff --git a/tests/data/flamegraph/colors/deterministic.svg b/tests/data/flamegraph/colors/deterministic.svg index 1e843aed..eeb2defd 100644 --- a/tests/data/flamegraph/colors/deterministic.svg +++ b/tests/data/flamegraph/colors/deterministic.svg @@ -1,4 +1,6 @@ - + + + diff --git a/tests/data/flamegraph/colors/java.svg b/tests/data/flamegraph/colors/java.svg index 9c1be113..9225b953 100644 --- a/tests/data/flamegraph/colors/java.svg +++ b/tests/data/flamegraph/colors/java.svg @@ -1,4 +1,6 @@ - + + + diff --git a/tests/data/flamegraph/colors/js.svg b/tests/data/flamegraph/colors/js.svg index 2424b640..7fe419cd 100644 --- a/tests/data/flamegraph/colors/js.svg +++ b/tests/data/flamegraph/colors/js.svg @@ -1,4 +1,6 @@ - + + + diff --git a/tests/data/flamegraph/differential/diff-negated.svg b/tests/data/flamegraph/differential/diff-negated.svg index 4f9bf611..9a7d2d16 100644 --- a/tests/data/flamegraph/differential/diff-negated.svg +++ b/tests/data/flamegraph/differential/diff-negated.svg @@ -1,4 +1,6 @@ - + + + diff --git a/tests/data/flamegraph/differential/diff.svg b/tests/data/flamegraph/differential/diff.svg index d99cb67a..4da6d041 100644 --- a/tests/data/flamegraph/differential/diff.svg +++ b/tests/data/flamegraph/differential/diff.svg @@ -1,4 +1,6 @@ - + + + diff --git a/tests/data/flamegraph/example-perf-stacks/example-perf-stacks.svg b/tests/data/flamegraph/example-perf-stacks/example-perf-stacks.svg index e7c07460..84bb6507 100644 --- a/tests/data/flamegraph/example-perf-stacks/example-perf-stacks.svg +++ b/tests/data/flamegraph/example-perf-stacks/example-perf-stacks.svg @@ -1,4 +1,6 @@ - + + + diff --git a/tests/data/flamegraph/factor/factor-2.5.svg b/tests/data/flamegraph/factor/factor-2.5.svg index 77c593c4..21c933cb 100644 --- a/tests/data/flamegraph/factor/factor-2.5.svg +++ b/tests/data/flamegraph/factor/factor-2.5.svg @@ -1,4 +1,6 @@ - + + + diff --git a/tests/data/flamegraph/flamechart/flame.svg b/tests/data/flamegraph/flamechart/flame.svg index b2ecc8b8..31f342c3 100644 --- a/tests/data/flamegraph/flamechart/flame.svg +++ b/tests/data/flamegraph/flamechart/flame.svg @@ -1,4 +1,6 @@ - + + + diff --git a/tests/data/flamegraph/fractional-samples/fractional-reversed.svg b/tests/data/flamegraph/fractional-samples/fractional-reversed.svg index ca0b35d5..a9f3b4aa 100644 --- a/tests/data/flamegraph/fractional-samples/fractional-reversed.svg +++ b/tests/data/flamegraph/fractional-samples/fractional-reversed.svg @@ -1,4 +1,6 @@ - + + + diff --git a/tests/data/flamegraph/grey-frames/grey-frames.svg b/tests/data/flamegraph/grey-frames/grey-frames.svg index ea2191ba..56eaa363 100644 --- a/tests/data/flamegraph/grey-frames/grey-frames.svg +++ b/tests/data/flamegraph/grey-frames/grey-frames.svg @@ -1,4 +1,6 @@ - + + + diff --git a/tests/data/flamegraph/inverted/inverted.svg b/tests/data/flamegraph/inverted/inverted.svg index 997edc08..04161cf5 100644 --- a/tests/data/flamegraph/inverted/inverted.svg +++ b/tests/data/flamegraph/inverted/inverted.svg @@ -1,4 +1,6 @@ - + + + diff --git a/tests/data/flamegraph/nameattr/nameattr.svg b/tests/data/flamegraph/nameattr/nameattr.svg index 23ae4088..1cc55680 100644 --- a/tests/data/flamegraph/nameattr/nameattr.svg +++ b/tests/data/flamegraph/nameattr/nameattr.svg @@ -1,4 +1,6 @@ - + + + diff --git a/tests/data/flamegraph/nameattr/nameattr_duplicate_attributes.svg b/tests/data/flamegraph/nameattr/nameattr_duplicate_attributes.svg index 48aa2518..1371745e 100644 --- a/tests/data/flamegraph/nameattr/nameattr_duplicate_attributes.svg +++ b/tests/data/flamegraph/nameattr/nameattr_duplicate_attributes.svg @@ -1,4 +1,6 @@ - + + + diff --git a/tests/data/flamegraph/narrow-blocks/narrow-blocks.svg b/tests/data/flamegraph/narrow-blocks/narrow-blocks.svg index 7b96faa0..8113ce66 100644 --- a/tests/data/flamegraph/narrow-blocks/narrow-blocks.svg +++ b/tests/data/flamegraph/narrow-blocks/narrow-blocks.svg @@ -1,4 +1,6 @@ - + + + diff --git a/tests/data/flamegraph/options/colordiffusion.svg b/tests/data/flamegraph/options/colordiffusion.svg index 21686ef1..a43a4f3c 100644 --- a/tests/data/flamegraph/options/colordiffusion.svg +++ b/tests/data/flamegraph/options/colordiffusion.svg @@ -1,4 +1,6 @@ - + + + diff --git a/tests/data/flamegraph/options/count_name_simple.svg b/tests/data/flamegraph/options/count_name_simple.svg index 130492af..eba06a6c 100644 --- a/tests/data/flamegraph/options/count_name_simple.svg +++ b/tests/data/flamegraph/options/count_name_simple.svg @@ -1,4 +1,6 @@ - + + + diff --git a/tests/data/flamegraph/options/count_name_with_symbols.svg b/tests/data/flamegraph/options/count_name_with_symbols.svg index 80bcf3f1..7a861a3d 100644 --- a/tests/data/flamegraph/options/count_name_with_symbols.svg +++ b/tests/data/flamegraph/options/count_name_with_symbols.svg @@ -1,4 +1,6 @@ - + + + diff --git a/tests/data/flamegraph/options/default.svg b/tests/data/flamegraph/options/default.svg index d99cb67a..4da6d041 100644 --- a/tests/data/flamegraph/options/default.svg +++ b/tests/data/flamegraph/options/default.svg @@ -1,4 +1,6 @@ - + + + diff --git a/tests/data/flamegraph/options/name_type_simple.svg b/tests/data/flamegraph/options/name_type_simple.svg index e2879240..aef9c4fb 100644 --- a/tests/data/flamegraph/options/name_type_simple.svg +++ b/tests/data/flamegraph/options/name_type_simple.svg @@ -1,4 +1,6 @@ - + + + diff --git a/tests/data/flamegraph/options/name_type_with_backslash.svg b/tests/data/flamegraph/options/name_type_with_backslash.svg index 52a7de3a..305e21d1 100644 --- a/tests/data/flamegraph/options/name_type_with_backslash.svg +++ b/tests/data/flamegraph/options/name_type_with_backslash.svg @@ -1,4 +1,6 @@ - + + + diff --git a/tests/data/flamegraph/options/name_type_with_quote.svg b/tests/data/flamegraph/options/name_type_with_quote.svg index 51162a1f..0463c025 100644 --- a/tests/data/flamegraph/options/name_type_with_quote.svg +++ b/tests/data/flamegraph/options/name_type_with_quote.svg @@ -1,4 +1,6 @@ - + + + diff --git a/tests/data/flamegraph/options/notes_simple.svg b/tests/data/flamegraph/options/notes_simple.svg index 3528bd2c..8666b52e 100644 --- a/tests/data/flamegraph/options/notes_simple.svg +++ b/tests/data/flamegraph/options/notes_simple.svg @@ -1,4 +1,6 @@ - + + + diff --git a/tests/data/flamegraph/options/notes_with_symbols.svg b/tests/data/flamegraph/options/notes_with_symbols.svg index 8344fd79..43fac79e 100644 --- a/tests/data/flamegraph/options/notes_with_symbols.svg +++ b/tests/data/flamegraph/options/notes_with_symbols.svg @@ -1,4 +1,6 @@ - + + + diff --git a/tests/data/flamegraph/options/search_color.svg b/tests/data/flamegraph/options/search_color.svg index 3215cd10..3ec51560 100644 --- a/tests/data/flamegraph/options/search_color.svg +++ b/tests/data/flamegraph/options/search_color.svg @@ -1,4 +1,6 @@ - + + + diff --git a/tests/data/flamegraph/options/stroke_color.svg b/tests/data/flamegraph/options/stroke_color.svg index ee806618..e995a7d3 100644 --- a/tests/data/flamegraph/options/stroke_color.svg +++ b/tests/data/flamegraph/options/stroke_color.svg @@ -1,4 +1,6 @@ - + + + diff --git a/tests/data/flamegraph/options/subtitle_simple.svg b/tests/data/flamegraph/options/subtitle_simple.svg index 4a1de480..e798a850 100644 --- a/tests/data/flamegraph/options/subtitle_simple.svg +++ b/tests/data/flamegraph/options/subtitle_simple.svg @@ -1,4 +1,6 @@ - + + + diff --git a/tests/data/flamegraph/options/subtitle_with_symbols.svg b/tests/data/flamegraph/options/subtitle_with_symbols.svg index d911c099..1dcaa272 100644 --- a/tests/data/flamegraph/options/subtitle_with_symbols.svg +++ b/tests/data/flamegraph/options/subtitle_with_symbols.svg @@ -1,4 +1,6 @@ - + + + diff --git a/tests/data/flamegraph/options/title_simple.svg b/tests/data/flamegraph/options/title_simple.svg index ca94ff9e..ec6e5abd 100644 --- a/tests/data/flamegraph/options/title_simple.svg +++ b/tests/data/flamegraph/options/title_simple.svg @@ -1,4 +1,6 @@ - + + + diff --git a/tests/data/flamegraph/options/title_with_symbols.svg b/tests/data/flamegraph/options/title_with_symbols.svg index 01ee663c..b6f8c2fd 100644 --- a/tests/data/flamegraph/options/title_with_symbols.svg +++ b/tests/data/flamegraph/options/title_with_symbols.svg @@ -1,4 +1,6 @@ - + + + diff --git a/tests/data/flamegraph/options/truncate-right.svg b/tests/data/flamegraph/options/truncate-right.svg index 8cdb7744..15d4690c 100644 --- a/tests/data/flamegraph/options/truncate-right.svg +++ b/tests/data/flamegraph/options/truncate-right.svg @@ -1,4 +1,6 @@ - + + + diff --git a/tests/data/flamegraph/palette-map/consistent-palette.svg b/tests/data/flamegraph/palette-map/consistent-palette.svg index 09ae4c7c..d1a7e7fa 100644 --- a/tests/data/flamegraph/palette-map/consistent-palette.svg +++ b/tests/data/flamegraph/palette-map/consistent-palette.svg @@ -1,4 +1,6 @@ - + + + diff --git a/tests/data/flamegraph/perf-vertx-stacks/perf-vertx-stacks-01-collapsed-all-reversed-stacks.svg b/tests/data/flamegraph/perf-vertx-stacks/perf-vertx-stacks-01-collapsed-all-reversed-stacks.svg index eb035fda..a4e8e5ec 100644 --- a/tests/data/flamegraph/perf-vertx-stacks/perf-vertx-stacks-01-collapsed-all-reversed-stacks.svg +++ b/tests/data/flamegraph/perf-vertx-stacks/perf-vertx-stacks-01-collapsed-all-reversed-stacks.svg @@ -1,4 +1,6 @@ - + + + diff --git a/tests/data/flamegraph/perf-vertx-stacks/perf-vertx-stacks-01-collapsed-all.svg b/tests/data/flamegraph/perf-vertx-stacks/perf-vertx-stacks-01-collapsed-all.svg index 09ae4c7c..d1a7e7fa 100644 --- a/tests/data/flamegraph/perf-vertx-stacks/perf-vertx-stacks-01-collapsed-all.svg +++ b/tests/data/flamegraph/perf-vertx-stacks/perf-vertx-stacks-01-collapsed-all.svg @@ -1,4 +1,6 @@ - + + +