Skip to content

Added support to get exported file paths  #2619

Open
@filzrev

Description

@filzrev

I want to get exported files that are created by Exporters (e.g. MarkdownExporter's output)

Related logics are implemented by ExporterBase.cs.
But it's defined as internal. So it can't be used from external code.

https://github.com/dotnet/BenchmarkDotNet/blob/master/src/BenchmarkDotNet/Exporters/ExporterBase.cs#L51-L55

Is it possible to add supporting feature that get ExportedFiles from benchmark results?
For example.

1. Add ExportedFiles information to benchmark results summary.

If it can add ExportedFiles property to existing benchmark summary reports.
If it's possible It can be used in a simpler way.

But Exported files are created by following lines.
https://github.com/dotnet/BenchmarkDotNet/blob/master/src/BenchmarkDotNet/Running/BenchmarkRunnerClean.cs#L292-L297

So might not possible to modify Summary object on above lines. (Because summary is designed as immutable)

2. Change ExporterBase::GetArtifactFullName API to public.

If GetArtifactFullName API can be changed to public
It can get exported files with following code.

var exportedFiles = config.GetExporters().OfType<ExporterBase>().Select(x=> x.GetArtifactFullName(summary))

Note

Some exporter ( e,g, RPlotExporter) seems that don't inherited from ExporterBase. (that output multiple files?)
So it might be better to adding GetArtifactFullNames to IExporter interface.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions