SuperluminalPerf 1.3.0
dotnet add package SuperluminalPerf --version 1.3.0
NuGet\Install-Package SuperluminalPerf -Version 1.3.0
<PackageReference Include="SuperluminalPerf" Version="1.3.0" />
paket add SuperluminalPerf --version 1.3.0
#r "nuget: SuperluminalPerf, 1.3.0"
// Install SuperluminalPerf as a Cake Addin #addin nuget:?package=SuperluminalPerf&version=1.3.0 // Install SuperluminalPerf as a Cake Tool #tool nuget:?package=SuperluminalPerf&version=1.3.0
SuperluminalPerf
<img align="right" width="128px" height="128px" src="https://raw.githubusercontent.com/xoofx/SuperluminalPerf/main/img/logo.png">
SuperluminalPerf is a small .NET managed wrapper around the Superluminal PerformanceAPI.
Superluminal is an outstanding profiler that supports .NET (Core, Framework) applications and provides mixed .NET and Native call stacks.
Features
- One-to-One mapping with the native Superluminal PerformanceAPI (API Version
3.0
) - Compatible with
netstandard2.0
+ andnet6.0
+ - Provides binaries or source embedding through a single NuGet package
Usage
// Make sure to initialize Superluminal Performance API at the beginning of your app
// By default will try to load the Superluminal dll from Program files default installation path.
SuperluminalPerf.Initialize();
// If Superluminal is not installed in its default path, you'll have to provide an explicit path to the DLL:
// SuperluminalPerf.Initialize($@"E:\Superluminal\Performance\API\dll\{(IntPtr.Size == 8 ? "x64" : "x86")}\PerformanceAPI.dll");
// You can set the thread name
SuperluminalPerf.SetCurrentThreadName("Hello!");
// You can mark code with begin/end markers
SuperluminalPerf.BeginEvent("MyMarker");
Console.WriteLine("Hello World! Wait for 100ms");
Thread.Sleep(100);
SuperluminalPerf.EndEvent();
Running with Superluminal will produce the following markers:
Binaries
SuperluminalPerf is available as a NuGet package:
Source Embedding
SuperluminalPerf NuGet package comes with source included so that you can internalize your usage of SuperluminalPerf into your project. This can be useful in an environment where you can't easily consume NuGet references.
WARNING: Currently, the sources are not set as readonly, so you should not modify sources in that mode as it will modify the sources for other projects using SuperluminalPerf on your machine. Use this feature at your own risks!
In order to activate this feature you need to:
- Set the property
PackageSuperluminalPerfIncludeSource
totrue
in your project:<PropertyGroup> <PackageSuperluminalPerfIncludeSource>true</PackageSuperluminalPerfIncludeSource> </PropertyGroup>
- Add the
IncludeAssets="Build"
to the NuGet PackageReference for SuperluminalPerf:<ItemGroup> <PackageReference Include="SuperluminalPerf" Version="1.0.0" IncludeAssets="Build"/> </ItemGroup>
License
This software is released under the BSD-Clause 2 license.
Credits
Adapted logo performance
by Sophia Bai from the Noun Project
Author
Alexandre Mutel aka xoofx.
Product | Versions Compatible and additional computed target framework versions. |
---|---|
.NET | net5.0 was computed. net5.0-windows was computed. net6.0 is compatible. net6.0-android was computed. net6.0-ios was computed. net6.0-maccatalyst was computed. net6.0-macos was computed. net6.0-tvos was computed. net6.0-windows was computed. net7.0 was computed. net7.0-android was computed. net7.0-ios was computed. net7.0-maccatalyst was computed. net7.0-macos was computed. net7.0-tvos was computed. net7.0-windows was computed. net8.0 was computed. net8.0-android was computed. net8.0-browser was computed. net8.0-ios was computed. net8.0-maccatalyst was computed. net8.0-macos was computed. net8.0-tvos was computed. net8.0-windows was computed. |
.NET Core | netcoreapp2.0 was computed. netcoreapp2.1 was computed. netcoreapp2.2 was computed. netcoreapp3.0 was computed. netcoreapp3.1 was computed. |
.NET Standard | netstandard2.0 is compatible. netstandard2.1 was computed. |
.NET Framework | net461 was computed. net462 was computed. net463 was computed. net47 was computed. net471 was computed. net472 was computed. net48 was computed. net481 was computed. |
MonoAndroid | monoandroid was computed. |
MonoMac | monomac was computed. |
MonoTouch | monotouch was computed. |
Tizen | tizen40 was computed. tizen60 was computed. |
Xamarin.iOS | xamarinios was computed. |
Xamarin.Mac | xamarinmac was computed. |
Xamarin.TVOS | xamarintvos was computed. |
Xamarin.WatchOS | xamarinwatchos was computed. |
-
.NETStandard 2.0
- No dependencies.
-
net6.0
- No dependencies.
NuGet packages
This package is not used by any NuGet packages.
GitHub repositories (1)
Showing the top 1 popular GitHub repositories that depend on SuperluminalPerf:
Repository | Stars |
---|---|
xoofx/LibObjectFile
LibObjectFile is a .NET library to read, manipulate and write linker and executable object files (e.g ELF, PE, DWARF, ar...)
|