# GetSample(int)

> Gets sample data.

## Definition

* **Type:** Method
* **Namespace:** [Unity.Profiling](/engine/6000.6/script-reference/unity/profiling.md)
* **Assembly:** UnityEngine.CoreModule

```csharp
public ProfilerRecorderSample GetSample(int index)
```

### Parameters

**** (\[int]\(https\://learn.microsoft.com/dotnet/api/system.int32)):&#x20;

### Returns

| Type                                                                                                | Description |
| --------------------------------------------------------------------------------------------------- | ----------- |
| [ProfilerRecorderSample](/engine/6000.6/script-reference/unity/profiling/profilerrecordersample.md) |             |

### Remarks

Use to obtain sample data.

### Examples

```csharp
using Unity.Profiling;
using UnityEngine;

public class FrameTimeScript : MonoBehaviour
{
    ProfilerRecorder frameTimeRecorder;

    void OnEnable()
    {
        frameTimeRecorder = ProfilerRecorder.StartNew(ProfilerCategory.Internal, "Main Thread", 30);
    }

    void OnDisable()
    {
        frameTimeRecorder.Dispose();
    }

    double CalculateAverageFromSampleValuesPerFrame(ProfilerRecorder r)
    {
        int count = r.Count;
        double acc = 0;
        for (var i = 0; i < count; ++i)
        {
            acc += r.GetSample(i).Value;
        }
        return count > 0 ? acc / count : 0;
    }

    void OnGUI()
    {
        GUI.TextArea(new Rect(10, 30, 350, 20), $"Frame time: {CalculateAverageFromSampleValuesPerFrame(frameTimeRecorder) * 1e-6:0.00}ms");
    }
}
```
