Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

update TraceEvent to 3.0.1 to have a proper ARM64 support for Diagnostics package #2030

Merged
merged 1 commit into from Jul 1, 2022

Conversation

adamsitnik
Copy link
Member

Before:

Please install the latest Microsoft.Diagnostics.Tracing.TraceEvent package in the project with benchmarks so MSBuild can copy the native dependencies of TraceEvent to the output folder.
Unhandled exception. System.ComponentModel.Win32Exception (126): The specified module could not be found.
   at Microsoft.Diagnostics.Tracing.Extensions.ETWKernelControl.LoadKernelTraceControl()
   at Microsoft.Diagnostics.Tracing.Extensions.ETWKernelControl.StartKernelSession(UInt64& TraceHandle, Void* propertyBuff, Int32 propertyBuffLength, STACK_TRACING_EVENT_ID* stackTracingEventIds, Int32 cStackTracingEventIds)
   at Microsoft.Diagnostics.Tracing.Session.TraceEventSession.EnableKernelProvider(Keywords flags, Keywords stackCapture)
   at BenchmarkDotNet.Diagnostics.Windows.KernelSession.EnableProviders() in C:\Projects\BenchmarkDotNet\src\BenchmarkDotNet.Diagnostics.Windows\Sessions.cs:line 79
   at BenchmarkDotNet.Diagnostics.Windows.EtwProfiler.Start(DiagnoserActionParameters parameters) in C:\Projects\BenchmarkDotNet\src\BenchmarkDotNet.Diagnostics.Windows\EtwProfiler.cs:line 107
   at BenchmarkDotNet.Diagnostics.Windows.EtwProfiler.Handle(HostSignal signal, DiagnoserActionParameters parameters) in C:\Projects\BenchmarkDotNet\src\BenchmarkDotNet.Diagnostics.Windows\EtwProfiler.cs:line 69
   at BenchmarkDotNet.Diagnosers.CompositeDiagnoser.Handle(HostSignal signal, DiagnoserActionParameters parameters) in C:\Projects\BenchmarkDotNet\src\BenchmarkDotNet\Diagnosers\CompositeDiagnoser.cs:line 39
   at BenchmarkDotNet.Toolchains.DotNetCli.DotNetCliExecutor.Execute(BenchmarkCase benchmarkCase, BenchmarkId benchmarkId, ILogger logger, ArtifactsPaths artifactsPaths, IDiagnoser diagnoser, String executableName, IResolver resolver, Int32 launchIndex, Boolean noAcknowledgments) in C:\Projects\BenchmarkDotNet\src\BenchmarkDotNet\Toolchains\DotNetCli\DotNetCliExecutor.cs:line 83
   at BenchmarkDotNet.Toolchains.DotNetCli.DotNetCliExecutor.Execute(ExecuteParameters executeParameters) in C:\Projects\BenchmarkDotNet\src\BenchmarkDotNet\Toolchains\DotNetCli\DotNetCliExecutor.cs:line 55
   at BenchmarkDotNet.Running.BenchmarkRunnerClean.RunExecute(ILogger logger, BenchmarkCase benchmarkCase, BenchmarkId benchmarkId, IToolchain toolchain, BuildResult buildResult, IResolver resolver, IDiagnoser diagnoser, Int32 launchIndex) in C:\Projects\BenchmarkDotNet\src\BenchmarkDotNet\Running\BenchmarkRunnerClean.cs:line 487
   at BenchmarkDotNet.Running.BenchmarkRunnerClean.Execute(ILogger logger, BenchmarkCase benchmarkCase, BenchmarkId benchmarkId, IToolchain toolchain, BuildResult buildResult, IResolver resolver) in C:\Projects\BenchmarkDotNet\src\BenchmarkDotNet\Running\BenchmarkRunnerClean.cs:line 414
   at BenchmarkDotNet.Running.BenchmarkRunnerClean.RunCore(BenchmarkCase benchmarkCase, BenchmarkId benchmarkId, ILogger logger, IResolver resolver, BuildResult buildResult) in C:\Projects\BenchmarkDotNet\src\BenchmarkDotNet\Running\BenchmarkRunnerClean.cs:line 383
   at BenchmarkDotNet.Running.BenchmarkRunnerClean.Run(BenchmarkRunInfo benchmarkRunInfo, Dictionary`2 buildResults, IResolver resolver, ILogger logger, List`1 artifactsToCleanup, String resultsFolderPath, String logFilePath, Int32 totalBenchmarkCount, StartedClock& runsChronometer, Int32& benchmarksToRunCount) in C:\Projects\BenchmarkDotNet\src\BenchmarkDotNet\Running\BenchmarkRunnerClean.cs:line 164
   at BenchmarkDotNet.Running.BenchmarkRunnerClean.Run(BenchmarkRunInfo[] benchmarkRunInfos) in C:\Projects\BenchmarkDotNet\src\BenchmarkDotNet\Running\BenchmarkRunnerClean.cs:line 79
   at BenchmarkDotNet.Running.BenchmarkSwitcher.RunWithDirtyAssemblyResolveHelper(String[] args, IConfig config, Boolean askUserForInput) in C:\Projects\BenchmarkDotNet\src\BenchmarkDotNet\Running\BenchmarkSwitcher.cs:line 120
   at BenchmarkDotNet.Running.BenchmarkSwitcher.Run(String[] args, IConfig config) in C:\Projects\BenchmarkDotNet\src\BenchmarkDotNet\Running\BenchmarkSwitcher.cs:line 67
   at BenchmarkDotNet.Samples.Program.Main(String[] args) in C:\Projects\BenchmarkDotNet\samples\BenchmarkDotNet.Samples\Program.cs:line 7

After:

BenchmarkDotNet=v0.13.1.20220630-develop, OS=Windows 10 (10.0.19043.1706/21H1/May2021Update)
Microsoft SQ1 3.0 GHz, 1 CPU, 8 logical and 8 physical cores
.NET SDK=7.0.100-preview.3.22210.8
  [Host]     : .NET 6.0.6 (6.0.622.26707), Arm64 RyuJIT
  DefaultJob : .NET 6.0.6 (6.0.622.26707), Arm64 RyuJIT

// * Diagnostic Output - EtwProfiler *
Exported 1 trace file(s). Example:
C:\Projects\BenchmarkDotNet\BenchmarkDotNet.Artifacts\BenchmarkDotNet.Samples.IntroBasic.Sleep-20220630-154232.etl

cc @AndyAyersMS

@adamsitnik adamsitnik added this to the v0.13.2 milestone Jun 30, 2022
@AndyAyersMS
Copy link
Member

Thanks!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

2 participants