vara-cs¶
This tool provides functionality to create and manage case studies. Detailed information about how case studies work can be found here.
The vara-cs tool has various sub-commands which we explain in more detail below:
Usage: vara-cs [OPTIONS] COMMAND [ARGS]...
Allow easier management of case studies.
Options:
--help Show this message and exit.
Commands:
cleanup Cleanup report files.
gen Generate or extend a CaseStudy Sub commands can be chained to...
package Case study packaging util.
status Show status of current case study.
view View report files.
vara-cs gen¶
The vara-cs gen command generates a new or extends a existing one case study.
Which revisions are added to the case study depends on the chosen selection strategy.
New case studies are automatically inserted into the current paper config.
For more options, take a look at the command line parameters:
Usage: vara-cs gen [OPTIONS] COMMAND [ARGS]...
Generate or extend a CaseStudy Sub commands can be chained to for example
sample revisions but also add the latest.
Options:
-p, --project TEXT [required]
-or, --override If a case study for the given project and
version exists override it instead of
extending it
--merge-stage TEXT Merge the new revision(s) into stage `n`;
defaults to last stage.
--new-stage Add the new revision(s) to a new stage
-v, --version INTEGER Case study version.
--ignore-blocked / --allow-blocked
Ignore/Allow revisions that are marked as
blocked. By default, blocked revisions will
be ignored.
--update / --no-update Project repository will not be updated.
--help Show this message and exit.
Commands:
select_bug Extend a case study with revisions that either...
select_latest Add the latest revision of the project to the CS.
select_plot Generate revisions based on a plot.
select_release Extend a case study with revisions marked as a...
select_revs-per-year Add a number of revisions per year.
select_sample Add revisions based on a sampling Distribution.
select_specific Adds a list of specified revisions to the CS.
Also look at vara-cs-gui, which can be used to create case studies using a graphical interface.
vara-cs status¶
The vara-cs status command prints status information about the results
of your experiments.
It can give an overview over the status of all case studies or more detailed
information about specific case studies.
Usage: vara-cs status [OPTIONS] {PyDrillerSZZ|SZZUnleashed|FeatureExperiment|R
unTEFProfiler|RunPIMProfiler|RunEBPFTraceTEFProfiler|Run
BCCTEFProfiler|GenBBBaseline|RunTEFProfilerO|RunPIMProfi
lerO|RunEBPFTraceTEFProfilerO|RunBCCTEFProfilerO|GenBBBa
selineO|JustCompile|TimeWorkloads|GlobalsComparision|Pha
sarIDELinearConstantAnalysis|RunAggRegionPerf|LineBasedB
lameAnnotations|ASTBasedBlameAnnotations|CompareASTBlame
|GenerateBlameReport|GenerateBlameReportRegion|GenerateB
lameReportCommitInFunction|RunBlameServer|GenerateBlameV
erifierReportOpt|GenerateBlameVerifierReportNoOptTBAA|Ge
nerateCommitReport|FeatureInstrumentationPoints|RunFeatu
rePerf|RunFeatureXRayPerf|FeaturePerfSampling97Hz|Featur
ePerfSampling997Hz|FeaturePerfTracingDry|FeaturePerfTrac
ingDryUsdt|FeaturePerfTracingDryRawUsdt|FeaturePerfTraci
ngTef|FeaturePerfTracingTefUsdt|FeaturePerfTracingTefUsd
tBcc|FeaturePerfTracingTefRawUsdt|GenerateFeatureRegionR
eport|FeatureTracingStats|DetermineHotFunctions|RunInstr
Verifier|PrintMarkerInstTest|PapiMarkerInstTest|CheckMar
kerInstTest|PhASARFeatureTaintAnalysis|RegionAnalyser}
Show status of current case study.
EXPERIMENT-NAME: Provide a experiment name to select which files are
considered for the status
Options:
--filter-regex TEXT Provide a regex to filter the shown case studies
-s, --short Only print a short summary
--list-revs Print a list of revisions for every stage and every
case study
--ws Print status with stage separation
--sorted Sort the revisions in the order they are printed by git
log.
--legend Print status with legend
--force-color Force colored output also when not connected to a
terminal (e.g. when piping to less -r).
--help Show this message and exit.
vara-cs package¶
The vara-cs package command allows to package all files belonging to the
current paper config into a .zip file.
Usage: vara-cs package [OPTIONS] [[PyDrillerSZZ|SZZUnleashed|FeatureExperiment
|RunTEFProfiler|RunPIMProfiler|RunEBPFTraceTEFProfiler|
RunBCCTEFProfiler|GenBBBaseline|RunTEFProfilerO|RunPIMP
rofilerO|RunEBPFTraceTEFProfilerO|RunBCCTEFProfilerO|Ge
nBBBaselineO|JustCompile|TimeWorkloads|GlobalsComparisi
on|PhasarIDELinearConstantAnalysis|RunAggRegionPerf|Lin
eBasedBlameAnnotations|ASTBasedBlameAnnotations|Compare
ASTBlame|GenerateBlameReport|GenerateBlameReportRegion|
GenerateBlameReportCommitInFunction|RunBlameServer|Gene
rateBlameVerifierReportOpt|GenerateBlameVerifierReportN
oOptTBAA|GenerateCommitReport|FeatureInstrumentationPoi
nts|RunFeaturePerf|RunFeatureXRayPerf|FeaturePerfSampli
ng97Hz|FeaturePerfSampling997Hz|FeaturePerfTracingDry|F
eaturePerfTracingDryUsdt|FeaturePerfTracingDryRawUsdt|F
eaturePerfTracingTef|FeaturePerfTracingTefUsdt|FeatureP
erfTracingTefUsdtBcc|FeaturePerfTracingTefRawUsdt|Gener
ateFeatureRegionReport|FeatureTracingStats|DetermineHot
Functions|RunInstrVerifier|PrintMarkerInstTest|PapiMark
erInstTest|CheckMarkerInstTest|PhASARFeatureTaintAnalys
is|RegionAnalyser]]...
Case study packaging util.
EXPERIMENT_NAMES: Provide experiment names to select which files are
considered for packaging.
Options:
-o, --output TEXT Output file
--filter-regex TEXT Provide a regex to only include case studies that match
the filter.
--help Show this message and exit.
vara-cs view¶
The vara-cs view command allows to easily open result files in your favourite editor.
The tool searches for result files matching the given commit hash and presents you a list with the found files.
The selected file then gets opened using the program in your EDITOR environment variable.
Usage: vara-cs view [OPTIONS]
View report files.
Options:
--experiment-type [PyDrillerSZZ|SZZUnleashed|FeatureExperiment|RunTEFProfiler|RunPIMProfiler|RunEBPFTraceTEFProfiler|RunBCCTEFProfiler|GenBBBaseline|RunTEFProfilerO|RunPIMProfilerO|RunEBPFTraceTEFProfilerO|RunBCCTEFProfilerO|GenBBBaselineO|JustCompile|TimeWorkloads|GlobalsComparision|PhasarIDELinearConstantAnalysis|RunAggRegionPerf|LineBasedBlameAnnotations|ASTBasedBlameAnnotations|CompareASTBlame|GenerateBlameReport|GenerateBlameReportRegion|GenerateBlameReportCommitInFunction|RunBlameServer|GenerateBlameVerifierReportOpt|GenerateBlameVerifierReportNoOptTBAA|GenerateCommitReport|FeatureInstrumentationPoints|RunFeaturePerf|RunFeatureXRayPerf|FeaturePerfSampling97Hz|FeaturePerfSampling997Hz|FeaturePerfTracingDry|FeaturePerfTracingDryUsdt|FeaturePerfTracingDryRawUsdt|FeaturePerfTracingTef|FeaturePerfTracingTefUsdt|FeaturePerfTracingTefUsdtBcc|FeaturePerfTracingTefRawUsdt|GenerateFeatureRegionReport|FeatureTracingStats|DetermineHotFunctions|RunInstrVerifier|PrintMarkerInstTest|PapiMarkerInstTest|CheckMarkerInstTest|PhASARFeatureTaintAnalysis|RegionAnalyser]
Experiment type of the result files.
[required]
--report-type [KeyedReportAggregate|ReportAggregate|SZZReport|SZZUnleashedReport|PyDrillerSZZReport|BlameReport|BlameVerifierReportOpt|BlameVerifierReportNoOptTBAA|CommitReport|FeatureAnalysisReport|GlobalsReportWithout|GlobalsReportWith|WorkloadSpecificReportAggregate|PerfInfluenceTraceReport|PerfInfluenceTraceReportAggregate|WorkloadSpecificPITReportAggregate|TimeReport|TimeReportAggregate|WLTimeReportAggregate|MultiPatchReport|TEFReport|TEFReportAggregate|WorkloadSpecificTEFReportAggregate|MPRTimeReportAggregate|MPRTEFAggregate|MPRPIMAggregate|BlameAnnotations|BlameComparisonReport|CompiledBinaryReport|EmptyReport|EnvTraceReport|FeatureInstrumentationPointsReport|FeatureTracingStatsReport|InstrVerifierReport|PerfProfileReport|PerfProfileReportAggregate|RegionVerificationReport|TaintPropagationReport|HotFunctionReport|WLHotFunctionAggregate|LinuxPerfReport|LinuxPerfReportAggregate]
Report type of the result files.
--project TEXT Project to view result files for.
[required]
--commit-hash SHORTCOMMITHASH Commit hash to view result files for.
--newest-only Only report the newest file for each matched
commit hash
--help Show this message and exit.
vara-cs cleanup¶
The vara-cs cleanup command allows the user to easily remove old or no longer wanted report files.
Usage: vara-cs cleanup [OPTIONS] COMMAND [ARGS]...
Cleanup report files.
If both --experiment and --report the report file has to belong to both
Options:
-cs, --case-studies [] Only remove reports for revisions from these
case studies, defaults to all case studies
from the current paper config
-exp, --experiment [PyDrillerSZZ|SZZUnleashed|FeatureExperiment|RunTEFProfiler|RunPIMProfiler|RunEBPFTraceTEFProfiler|RunBCCTEFProfiler|GenBBBaseline|RunTEFProfilerO|RunPIMProfilerO|RunEBPFTraceTEFProfilerO|RunBCCTEFProfilerO|GenBBBaselineO|JustCompile|TimeWorkloads|GlobalsComparision|PhasarIDELinearConstantAnalysis|RunAggRegionPerf|LineBasedBlameAnnotations|ASTBasedBlameAnnotations|CompareASTBlame|GenerateBlameReport|GenerateBlameReportRegion|GenerateBlameReportCommitInFunction|RunBlameServer|GenerateBlameVerifierReportOpt|GenerateBlameVerifierReportNoOptTBAA|GenerateCommitReport|FeatureInstrumentationPoints|RunFeaturePerf|RunFeatureXRayPerf|FeaturePerfSampling97Hz|FeaturePerfSampling997Hz|FeaturePerfTracingDry|FeaturePerfTracingDryUsdt|FeaturePerfTracingDryRawUsdt|FeaturePerfTracingTef|FeaturePerfTracingTefUsdt|FeaturePerfTracingTefUsdtBcc|FeaturePerfTracingTefRawUsdt|GenerateFeatureRegionReport|FeatureTracingStats|DetermineHotFunctions|RunInstrVerifier|PrintMarkerInstTest|PapiMarkerInstTest|CheckMarkerInstTest|PhASARFeatureTaintAnalysis|RegionAnalyser]
Only remove reports that belong to the given
experiment
--report [KeyedReportAggregate|ReportAggregate|SZZReport|SZZUnleashedReport|PyDrillerSZZReport|BlameReport|BlameVerifierReportOpt|BlameVerifierReportNoOptTBAA|CommitReport|FeatureAnalysisReport|GlobalsReportWithout|GlobalsReportWith|WorkloadSpecificReportAggregate|PerfInfluenceTraceReport|PerfInfluenceTraceReportAggregate|WorkloadSpecificPITReportAggregate|TimeReport|TimeReportAggregate|WLTimeReportAggregate|MultiPatchReport|TEFReport|TEFReportAggregate|WorkloadSpecificTEFReportAggregate|MPRTimeReportAggregate|MPRTEFAggregate|MPRPIMAggregate|BlameAnnotations|BlameComparisonReport|CompiledBinaryReport|EmptyReport|EnvTraceReport|FeatureInstrumentationPointsReport|FeatureTracingStatsReport|InstrVerifierReport|PerfProfileReport|PerfProfileReportAggregate|RegionVerificationReport|TaintPropagationReport|HotFunctionReport|WLHotFunctionAggregate|LinuxPerfReport|LinuxPerfReportAggregate]
Only remove reports from the given type.
--help Show this message and exit.
Commands:
all Remove all report files of the current paper_config.
old Remove result files of wich a newer version exists.
regex Remove result files based on a given regex filter.