@@ -18,6 +18,7 @@ use crate::run::UnwindingMode;
1818use anyhow:: Context ;
1919use fifo:: PerfFifo ;
2020use libc:: pid_t;
21+ use perf_executable:: get_compression_flags;
2122use perf_executable:: get_event_flags;
2223use perf_map:: ProcessSymbols ;
2324use runner_shared:: artifacts:: ArtifactExt ;
@@ -137,10 +138,15 @@ impl PerfRunner {
137138 if !is_codspeed_debug_enabled ( ) {
138139 perf_wrapper_builder. arg ( "--quiet" ) ;
139140 }
140- // Add events flag if all required events are available
141- if let Some ( events_flag) = get_event_flags ( & working_perf_executable) ? {
142- perf_wrapper_builder. arg ( events_flag) ;
141+ // Add compression if available
142+ if let Some ( compression_flags) = get_compression_flags ( & working_perf_executable) ? {
143+ perf_wrapper_builder. arg ( compression_flags) ;
144+ // Add events flag if all required events are available
145+ if let Some ( events_flag) = get_event_flags ( & working_perf_executable) ? {
146+ perf_wrapper_builder. arg ( events_flag) ;
147+ }
143148 }
149+
144150 perf_wrapper_builder. args ( [
145151 "--timestamp" ,
146152 // Required for matching the markers and URIs to the samples.
@@ -149,7 +155,6 @@ impl PerfRunner {
149155 "--freq=997" , // Use a prime number to avoid synchronization with periodic tasks
150156 "--delay=-1" ,
151157 "-g" ,
152- "--compression-level=3" , // 3 is a widely adopted default level (AWS Athena, Python, ...)
153158 "--user-callchains" ,
154159 & format ! ( "--call-graph={cg_mode}" ) ,
155160 & format ! (
0 commit comments