GetSampleMetadataAsLong(int, int)
Gets sample metadata value as long.
Read time 1 minuteLast updated 10 days ago
Definition
- Type: Method
- Namespace: UnityEditor.Profiling
- Assembly: UnityEditor.CoreModule
public long GetSampleMetadataAsLong(int sampleIndex, int metadataIndex)
Parameters
Returns
Type | Description |
|---|---|
| long | Returns long representation of sample metadata value. |
Remarks
Use to obtain additional data associated with the sample. metadataIndex must be between 0 and RawFrameDataView.GetSampleMetadataCount.
Examples
using System;using Unity.Collections;using UnityEditor.Profiling;using UnityEditorInternal;using UnityEngine;using UnityEngine.Profiling;public class Example{ public static long GetGCAllocs(int frameIndex) { long totalGcAllocSize = 0; int gcAllocMarkerId = FrameDataView.invalidMarkerId; for (int threadIndex = 0;; ++threadIndex) { using (RawFrameDataView frameData = ProfilerDriver.GetRawFrameDataView(frameIndex, threadIndex)) { if (!frameData.valid) break; if (gcAllocMarkerId == FrameDataView.invalidMarkerId) { gcAllocMarkerId = frameData.GetMarkerId("GC.Alloc"); if (gcAllocMarkerId == FrameDataView.invalidMarkerId) break; } int sampleCount = frameData.sampleCount; for (int i = 0; i < sampleCount; ++i) { if (gcAllocMarkerId != frameData.GetSampleMarkerId(i)) continue; long gcAllocSize = frameData.GetSampleMetadataAsLong(i, 0); totalGcAllocSize += gcAllocSize; } } } return totalGcAllocSize; }}