# GetSampleMarkerId(int)

> Gets Profiler marker indentifier which uniquely identifies sample name.

## Definition

* **Type:** Method
* **Namespace:** [UnityEditor.Profiling](/engine/6000.0/script-reference/unityeditor/profiling.md)
* **Assembly:** UnityEditor

```csharp
public int GetSampleMarkerId(int sampleIndex)
```

### Parameters

**** (\[int]\(https\://learn.microsoft.com/dotnet/api/system.int32)): Index of the Profiler sample.

### Returns

| Type                                                       | Description                                                                       |
| ---------------------------------------------------------- | --------------------------------------------------------------------------------- |
| [int](https://learn.microsoft.com/dotnet/api/system.int32) | Returns Profiler marker indentifier. Returns *invalidMarkerId* for invalid index. |

### Remarks

The Profiler uses unique identifier for each marker created during profiling session. Marker can generate many samples which can be retrieved by [RawFrameDataView](/engine/6000.0/script-reference/unityeditor/profiling/rawframedataview.md).

All samples generated by the same marker have the same integer marker identifier and the same name.

Marker identifiers are persistent for the entire profiling session.

```csharp
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;
    }
}
```

Additional Resources: [RawFrameDataView.GetSampleName](/engine/6000.0/script-reference/unityeditor/profiling/rawframedataview/getsamplename.md), [FrameDataView.GetMarkerId](/engine/6000.0/script-reference/unityeditor/profiling/framedataview/getmarkerid.md), [FrameDataView.GetMarkerName](/engine/6000.0/script-reference/unityeditor/profiling/framedataview/getmarkername.md).
