From a59bfd0d7dbf3b05ba867f238bbbb0ab2f3b55e9 Mon Sep 17 00:00:00 2001 From: Valentin Perrelle <valentin.perrelle@cea.fr> Date: Thu, 5 Jan 2023 18:19:17 +0100 Subject: [PATCH] [Eva] Add an option to dump statistics into a CSV file --- src/plugins/eva/parameters.ml | 12 ++++++++++++ src/plugins/eva/parameters.mli | 1 + src/plugins/eva/utils/statistics.ml | 4 ++-- 3 files changed, 15 insertions(+), 2 deletions(-) diff --git a/src/plugins/eva/parameters.ml b/src/plugins/eva/parameters.ml index a8a1b273ecc..dca2f98df57 100644 --- a/src/plugins/eva/parameters.ml +++ b/src/plugins/eva/parameters.ml @@ -1091,6 +1091,18 @@ module NumerorsLogFile = function in the given file" end) +let () = Parameter_customize.set_group messages +module StatisticsFile = + Filepath + (struct + let option_name = "-eva-statistics-file" + let arg_name = "file.csv" + let file_kind = "CSV" + let existence = Fc_Filepath.Indifferent + let help = "Dump some internal statistics about the analysis" + end) + + (* ------------------------------------------------------------------------- *) (* --- Interpreter mode --- *) (* ------------------------------------------------------------------------- *) diff --git a/src/plugins/eva/parameters.mli b/src/plugins/eva/parameters.mli index 4d8288faaa6..61daa886425 100644 --- a/src/plugins/eva/parameters.mli +++ b/src/plugins/eva/parameters.mli @@ -125,6 +125,7 @@ module ShowSlevel: Parameter_sig.Int module PrintCallstacks: Parameter_sig.Bool module ReportRedStatuses: Parameter_sig.Filepath module NumerorsLogFile: Parameter_sig.Filepath +module StatisticsFile: Parameter_sig.Filepath module MemExecAll: Parameter_sig.Bool diff --git a/src/plugins/eva/utils/statistics.ml b/src/plugins/eva/utils/statistics.ml index 2e50689661f..139a18bf194 100644 --- a/src/plugins/eva/utils/statistics.ml +++ b/src/plugins/eva/utils/statistics.ml @@ -179,7 +179,7 @@ let export_as_csv_to_channel out_channel = List.iter (pp_stat fmt) l let export_as_csv ?filename () = - let filename = (filename : Filepath.Normalized.t option :> string option) in - let filename = Option.value ~default:"stats.json" filename in + let default = Parameters.StatisticsFile.get () in + let filename = Option.value ~default filename in let out_channel = open_out (filename :> string) in export_as_csv_to_channel out_channel -- GitLab