Profiler marker usage flags.
Use to specify marker usage or availability information.
using System.Collections.Generic; using Unity.Profiling.LowLevel; using Unity.Profiling.LowLevel.Unsafe;
public class Example { public static unsafe void WriteAllNonDevelopmentStatsToFile(string filePath) { using (var writer = new System.IO.StreamWriter(filePath)) { var availableStatHandles = new List<ProfilerRecorderHandle>(); ProfilerRecorderHandle.GetAvailable(availableStatHandles); foreach (var h in availableStatHandles) { var statDesc = ProfilerRecorderHandle.GetDescription(h); if (!statDesc.Flags.HasFlag(MarkerFlags.AvailabilityNonDevelopment)) continue;
var name = System.Text.Encoding.UTF8.GetString(statDesc.NameUtf8, statDesc.NameUtf8Len); writer.WriteLine($"{name};{statDesc.Flags}"); } } } }
Default | Default value for markers created in native code. |
Script | Marker is created by scripting code. |
ScriptInvoke | Specifies that marker is generated by invocation of scripting method from native code. |
ScriptDeepProfiler | Specifies that marker is generated by deep profiling. |
AvailabilityEditor | Specifies that marker is present only in the Editor. |
AvailabilityNonDevelopment | Specifies that marker is present in non-development Players. |
Warning | Specifies that marker highlights performance suboptimal behavior. |
Counter | Marker represents a counter. |
SampleGPU | Specifies that marker is capable of capturing GPU timings. |