Documentation

Unity Engine


User Manual

Script Reference

Unity Engine


GetSampleMetadataAsLong(int, int)

Gets sample metadata value as long.
Read time 1 minuteLast updated 10 days ago

Definition

public long GetSampleMetadataAsLong(int sampleIndex, int metadataIndex)

Parameters

sampleIndex

Index of the Profiler sample.

metadataIndex

Metadata index.

Returns

Type

Description

longReturns 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; }}