---
title: "Set Up"
description: "Learn how to set up Sentry's Metrics feature using our supported SDKs."
url: https://docs.sentry.io/product/explore/metrics/getting-started/
---

# Set Up

Metrics is currently in Open Beta for non-Enterprise plans running supported SDKs. If you'd like access, please comment with your org slug on [this GitHub discussion](https://github.com/getsentry/sentry/discussions/102275) or contact us at <feedback-metrics@sentry.io>.

To set up Sentry Metrics, use the links below for supported SDKs. After it's been set up, you'll be able to send counters, gauges, and distributions from your code and view them in Sentry with direct links to related traces.

## [Supported SDKs](https://docs.sentry.io/product/explore/metrics/getting-started.md#supported-sdks)

### [JavaScript](https://docs.sentry.io/product/explore/metrics/getting-started.md#javascript)

* [![javascript.browser icon](https://docs.sentry.io/_next/static/media/javascript.d53aab1f.svg)Browser JavaScript](https://docs.sentry.io/platforms/javascript/metrics.md)
* [![javascript.angular icon](https://docs.sentry.io/_next/static/media/angularjs.8e98e235.svg)Angular](https://docs.sentry.io/platforms/javascript/guides/angular/metrics.md)
* [![javascript.astro icon](https://docs.sentry.io/_next/static/media/astro.3cb960c2.svg)Astro](https://docs.sentry.io/platforms/javascript/guides/astro/metrics.md)
* [![javascript.aws-lambda icon](https://docs.sentry.io/_next/static/media/awslambda.4ae6e6f7.svg)AWS Lambda](https://docs.sentry.io/platforms/javascript/guides/aws-lambda/metrics.md)
* [![javascript.azure-functions icon](https://docs.sentry.io/_next/static/media/azure-functions.0d829f41.svg)Azure Functions](https://docs.sentry.io/platforms/javascript/guides/azure-functions/metrics.md)
* [![javascript.bun icon](https://docs.sentry.io/_next/static/media/bun.64e0abda.svg)Bun](https://docs.sentry.io/platforms/javascript/guides/bun/metrics.md)
* [![javascript.cloudflare icon](https://docs.sentry.io/_next/static/media/cloudflare.7e288bf9.svg)Cloudflare](https://docs.sentry.io/platforms/javascript/guides/cloudflare/metrics.md)
* [![javascript.connect icon](https://docs.sentry.io/_next/static/media/connect.bfc1f584.svg)Connect](https://docs.sentry.io/platforms/javascript/guides/connect/metrics.md)
* [![javascript.electron icon](https://docs.sentry.io/_next/static/media/electron.9dec18b9.svg)Electron](https://docs.sentry.io/platforms/javascript/guides/electron/metrics.md)
* [![javascript.ember icon](https://docs.sentry.io/_next/static/media/ember.9862ba42.svg)Ember](https://docs.sentry.io/platforms/javascript/guides/ember/metrics.md)
* [![javascript.express icon](https://docs.sentry.io/_next/static/media/express.ccf88a5c.svg)Express](https://docs.sentry.io/platforms/javascript/guides/express/metrics.md)
* [![javascript.fastify icon](https://docs.sentry.io/_next/static/media/fastify.41f6ba73.svg)Fastify](https://docs.sentry.io/platforms/javascript/guides/fastify/metrics.md)
* [![javascript.gatsby icon](https://docs.sentry.io/_next/static/media/gatsby.d1e74154.svg)Gatsby](https://docs.sentry.io/platforms/javascript/guides/gatsby/metrics.md)
* [![javascript.gcp-functions icon](https://docs.sentry.io/_next/static/media/gcp-functions.6492b2be.svg)Google Cloud Functions](https://docs.sentry.io/platforms/javascript/guides/gcp-functions/metrics.md)
* [![javascript.hapi icon](https://docs.sentry.io/_next/static/media/hapi.e3b32f5e.svg)Hapi](https://docs.sentry.io/platforms/javascript/guides/hapi/metrics.md)
* [![javascript.hono icon](https://docs.sentry.io/_next/static/media/hono.3f338aa8.svg)Hono](https://docs.sentry.io/platforms/javascript/guides/hono/metrics.md)
* [![javascript.koa icon](https://docs.sentry.io/_next/static/media/koa.7d7a394d.svg)Koa](https://docs.sentry.io/platforms/javascript/guides/koa/metrics.md)
* [![javascript.nestjs icon](https://docs.sentry.io/_next/static/media/nestjs.d9d27813.svg)Nest.js](https://docs.sentry.io/platforms/javascript/guides/nestjs/metrics.md)
* [![javascript.node icon](https://docs.sentry.io/_next/static/media/nodejs.79546009.svg)Node.js](https://docs.sentry.io/platforms/javascript/guides/node/metrics.md)
* [![javascript.nextjs icon](https://docs.sentry.io/_next/static/media/nextjs.27669790.svg)Next.js](https://docs.sentry.io/platforms/javascript/guides/nextjs/metrics.md)
* [![javascript.nuxt icon](https://docs.sentry.io/_next/static/media/nuxt.90663273.svg)Nuxt](https://docs.sentry.io/platforms/javascript/guides/nuxt/metrics.md)
* [![javascript.react icon](https://docs.sentry.io/_next/static/media/react.e3c301d5.svg)React](https://docs.sentry.io/platforms/javascript/guides/react/metrics.md)
* [![javascript.react-router icon](https://docs.sentry.io/_next/static/media/react-router.e30ce352.svg)React Router](https://docs.sentry.io/platforms/javascript/guides/react-router/metrics.md)
* [![javascript.remix icon](https://docs.sentry.io/_next/static/media/remix.27fc09d0.svg)Remix](https://docs.sentry.io/platforms/javascript/guides/remix/metrics.md)
* [![javascript.solid icon](https://docs.sentry.io/_next/static/media/solid.398fcbf4.svg)Solid](https://docs.sentry.io/platforms/javascript/guides/solid/metrics.md)
* [![javascript.solidstart icon](https://docs.sentry.io/_next/static/media/solidstart.a4c37fbe.svg)SolidStart](https://docs.sentry.io/platforms/javascript/guides/solidstart/metrics.md)
* [![javascript.svelte icon](https://docs.sentry.io/_next/static/media/svelte.d8e9a29b.svg)Svelte](https://docs.sentry.io/platforms/javascript/guides/svelte/metrics.md)
* [![javascript.sveltekit icon](https://docs.sentry.io/_next/static/media/svelte.d8e9a29b.svg)SvelteKit](https://docs.sentry.io/platforms/javascript/guides/sveltekit/metrics.md)
* [![javascript.tanstackstart-react icon](https://docs.sentry.io/_next/static/media/tanstack.2a73006a.svg)TanStack Start](https://docs.sentry.io/platforms/javascript/guides/tanstackstart-react/metrics.md)
* [![javascript.vue icon](https://docs.sentry.io/_next/static/media/vue.2bb828dc.svg)Vue](https://docs.sentry.io/platforms/javascript/guides/vue/metrics.md)
* [![javascript.wasm icon](https://docs.sentry.io/_next/static/media/wasm.1533893e.svg)Wasm](https://docs.sentry.io/platforms/javascript/guides/wasm/metrics.md)

### [Java](https://docs.sentry.io/product/explore/metrics/getting-started.md#java)

* [![java icon](https://docs.sentry.io/_next/static/media/java.7b67f718.svg)Java](https://docs.sentry.io/platforms/java/metrics.md)
* [![java.spring icon](https://docs.sentry.io/_next/static/media/spring.ab758e55.svg)Spring](https://docs.sentry.io/platforms/java/guides/spring/metrics.md)
* [![java.spring-boot icon](https://docs.sentry.io/_next/static/media/springboot.03ca676c.svg)Spring Boot](https://docs.sentry.io/platforms/java/guides/spring-boot/metrics.md)

### [Mobile](https://docs.sentry.io/product/explore/metrics/getting-started.md#mobile)

* [![android icon](https://docs.sentry.io/_next/static/media/android.b3576036.svg)Android](https://docs.sentry.io/platforms/android/metrics.md)
* [![apple.ios icon](https://docs.sentry.io/_next/static/media/apple.007b3938.svg)iOS](https://docs.sentry.io/platforms/apple/guides/ios/metrics.md)
* [![apple.macos icon](https://docs.sentry.io/_next/static/media/apple.007b3938.svg)macOS](https://docs.sentry.io/platforms/apple/guides/macos/metrics.md)
* [![apple.tvos icon](https://docs.sentry.io/_next/static/media/apple.007b3938.svg)tvOS](https://docs.sentry.io/platforms/apple/guides/tvos/metrics.md)
* [![apple.watchos icon](https://docs.sentry.io/_next/static/media/apple.007b3938.svg)watchOS](https://docs.sentry.io/platforms/apple/guides/watchos/metrics.md)
* [![apple.visionos icon](https://docs.sentry.io/_next/static/media/apple.007b3938.svg)visionOS](https://docs.sentry.io/platforms/apple/guides/visionos/metrics.md)
* [![dart.flutter icon](https://docs.sentry.io/_next/static/media/flutter.b7cd4dd4.svg)Flutter](https://docs.sentry.io/platforms/dart/guides/flutter/metrics.md)
* [![react-native icon](https://docs.sentry.io/_next/static/media/react-native.a5e5ad76.svg)React Native](https://docs.sentry.io/platforms/react-native/metrics.md)

### [Python](https://docs.sentry.io/product/explore/metrics/getting-started.md#python)

* [![python icon](https://docs.sentry.io/_next/static/media/python.94740f0e.svg)Python](https://docs.sentry.io/platforms/python/metrics.md)
* [![python.django icon](https://docs.sentry.io/_next/static/media/django.16f2c3ca.svg)Django](https://docs.sentry.io/platforms/python/guides/django/metrics.md)
* [![python.flask icon](https://docs.sentry.io/_next/static/media/flask.c9318ff4.svg)Flask](https://docs.sentry.io/platforms/python/guides/flask/metrics.md)
* [![python.fastapi icon](https://docs.sentry.io/_next/static/media/fastapi.2f8b5daa.svg)FastAPI](https://docs.sentry.io/platforms/python/guides/fastapi/metrics.md)
* [![python.starlette icon](https://docs.sentry.io/_next/static/media/starlette.eef09715.svg)Starlette](https://docs.sentry.io/platforms/python/guides/starlette/metrics.md)
* [![python.celery icon](https://docs.sentry.io/_next/static/media/celery.520b3988.svg)Celery](https://docs.sentry.io/platforms/python/guides/celery/metrics.md)
* [![python.aws-lambda icon](https://docs.sentry.io/_next/static/media/awslambda.4ae6e6f7.svg)AWS Lambda](https://docs.sentry.io/platforms/python/guides/aws-lambda/metrics.md)
* [![python.gcp-functions icon](https://docs.sentry.io/_next/static/media/gcp-functions.6492b2be.svg)Google Cloud Functions](https://docs.sentry.io/platforms/python/guides/gcp-functions/metrics.md)

### [PHP](https://docs.sentry.io/product/explore/metrics/getting-started.md#php)

* [![php icon](https://docs.sentry.io/_next/static/media/php.2bb9a6cf.svg)PHP](https://docs.sentry.io/platforms/php/metrics.md)
* [![php.symfony icon](https://docs.sentry.io/_next/static/media/symfony.61e42312.svg)Symfony](https://docs.sentry.io/platforms/php/guides/symfony/metrics.md)
* [![php.laravel icon](https://docs.sentry.io/_next/static/media/laravel.978ff0fa.svg)Laravel](https://docs.sentry.io/platforms/php/guides/laravel/metrics.md)

### [Ruby](https://docs.sentry.io/product/explore/metrics/getting-started.md#ruby)

* [![ruby icon](https://docs.sentry.io/_next/static/media/ruby.07144e67.svg)Ruby (incl. Rails)](https://docs.sentry.io/platforms/ruby/metrics.md)

### [Go](https://docs.sentry.io/product/explore/metrics/getting-started.md#go)

* [![go icon](https://docs.sentry.io/_next/static/media/go.ac6569f8.svg)Go](https://docs.sentry.io/platforms/go/metrics.md)

### [.NET](https://docs.sentry.io/product/explore/metrics/getting-started.md#net)

* [![dotnet icon](https://docs.sentry.io/_next/static/media/dotnet.aa679e25.svg).NET](https://docs.sentry.io/platforms/dotnet/metrics.md)
* [![dotnet.android icon](https://docs.sentry.io/_next/static/media/dotnet.aa679e25.svg).NET for Android](https://docs.sentry.io/platforms/dotnet/guides/android/metrics.md)
* [![dotnet.apple icon](https://docs.sentry.io/_next/static/media/dotnet.aa679e25.svg).NET for iOS, macOS, and Mac Catalyst](https://docs.sentry.io/platforms/dotnet/guides/apple/metrics.md)
* [![dotnet.aspnet icon](https://docs.sentry.io/_next/static/media/dotnet.aa679e25.svg)ASP.NET](https://docs.sentry.io/platforms/dotnet/guides/aspnet/metrics.md)
* [![dotnet.aspnetcore icon](https://docs.sentry.io/_next/static/media/dotnetcore.c61e661d.svg)ASP.NET Core](https://docs.sentry.io/platforms/dotnet/guides/aspnetcore/metrics.md)
* [![dotnet.aws-lambda icon](https://docs.sentry.io/_next/static/media/awslambda.4ae6e6f7.svg)AWS Lambda](https://docs.sentry.io/platforms/dotnet/guides/aws-lambda/metrics.md)
* [![dotnet.azure-functions-worker icon](https://docs.sentry.io/_next/static/media/azure-functions.0d829f41.svg)Azure Functions](https://docs.sentry.io/platforms/dotnet/guides/azure-functions-worker/metrics.md)
* [![dotnet.blazor-webassembly icon](https://docs.sentry.io/_next/static/media/dotnet.aa679e25.svg)Blazor WebAssembly](https://docs.sentry.io/platforms/dotnet/guides/blazor-webassembly/metrics.md)
* [![dotnet.entityframework icon](https://docs.sentry.io/_next/static/media/dotnet.aa679e25.svg)Entity Framework](https://docs.sentry.io/platforms/dotnet/guides/entityframework/metrics.md)
* [![dotnet.extensions-logging icon](https://docs.sentry.io/_next/static/media/dotnet.aa679e25.svg)Microsoft.Extensions.Logging](https://docs.sentry.io/platforms/dotnet/guides/extensions-logging/metrics.md)
* [![dotnet.google-cloud-functions icon](https://docs.sentry.io/_next/static/media/gcp-functions.6492b2be.svg)Google Cloud Functions](https://docs.sentry.io/platforms/dotnet/guides/google-cloud-functions/metrics.md)
* [![dotnet.log4net icon](https://docs.sentry.io/_next/static/media/dotnet.aa679e25.svg)log4net](https://docs.sentry.io/platforms/dotnet/guides/log4net/metrics.md)
* [![dotnet.maui icon](https://docs.sentry.io/_next/static/media/maui.892e4870.svg)MAUI](https://docs.sentry.io/platforms/dotnet/guides/maui/metrics.md)
* [![dotnet.nlog icon](https://docs.sentry.io/_next/static/media/dotnet.aa679e25.svg)NLog](https://docs.sentry.io/platforms/dotnet/guides/nlog/metrics.md)
* [![dotnet.serilog icon](https://docs.sentry.io/_next/static/media/dotnet.aa679e25.svg)Serilog](https://docs.sentry.io/platforms/dotnet/guides/serilog/metrics.md)
* [![dotnet.winforms icon](https://docs.sentry.io/_next/static/media/dotnet.aa679e25.svg)Windows Forms](https://docs.sentry.io/platforms/dotnet/guides/winforms/metrics.md)
* [![dotnet.winui icon](https://docs.sentry.io/_next/static/media/dotnet.aa679e25.svg)WinUI](https://docs.sentry.io/platforms/dotnet/guides/winui/metrics.md)
* [![dotnet.wpf icon](https://docs.sentry.io/_next/static/media/dotnet.aa679e25.svg)WPF](https://docs.sentry.io/platforms/dotnet/guides/wpf/metrics.md)

### [Native](https://docs.sentry.io/product/explore/metrics/getting-started.md#native)

* [![native icon](https://docs.sentry.io/_next/static/media/nativec.2ce68873.svg)Native](https://docs.sentry.io/platforms/native/metrics.md)

### [Gaming](https://docs.sentry.io/product/explore/metrics/getting-started.md#gaming)

* [![unreal icon](https://docs.sentry.io/_next/static/media/unreal.c7530b54.svg)Unreal Engine](https://docs.sentry.io/platforms/unreal/metrics.md)
* [![unity icon](https://docs.sentry.io/_next/static/media/unity.f3643a4c.svg)Unity](https://docs.sentry.io/platforms/unity/metrics.md)
* [![godot icon](https://docs.sentry.io/_next/static/media/godot.3a2b340d.svg)Godot Engine](https://docs.sentry.io/platforms/godot/metrics.md)

## [Upcoming SDKs](https://docs.sentry.io/product/explore/metrics/getting-started.md#upcoming-sdks)

We're actively working on adding Metrics functionality to additional SDKs:

* Rust
* Elixir

If you don't see your platform listed above, please reach out to us on [GitHub](https://github.com/getsentry/sentry/discussions/102275), [Discord](https://discord.gg/sentry) or contact us at <feedback-metrics@sentry.io>, we'll get it prioritized!

## [Best Practices](https://docs.sentry.io/product/explore/metrics/getting-started.md#best-practices)

### [Naming Conventions](https://docs.sentry.io/product/explore/metrics/getting-started.md#naming-conventions)

Use descriptive, dot-separated names that indicate the metric's purpose:

* **Good**: `checkout.failed`, `email.sent`, `queue.depth`
* **Avoid**: `metric1`, `counter`, `x`

### [Attributes](https://docs.sentry.io/product/explore/metrics/getting-started.md#attributes)

Add attributes to to query metrics like:

* `sum(api.request)` grouped by `endpoint`
* `sum(api.request)` where `status:500`
* `sum(api.request)` grouped by `region` where `method:POST`

### [Units](https://docs.sentry.io/product/explore/metrics/getting-started.md#units)

Always specify units for clarity:

* Time: `millisecond`, `seconds`
* Size: `byte`, `kilobyte`, `megabyte`

### [When to Instrument](https://docs.sentry.io/product/explore/metrics/getting-started.md#when-to-instrument)

Add metrics at key decision points in your code:

* **Before/after critical operations**: Track success and failure rates
* **At service boundaries**: Monitor external API calls, database queries
* **Business logic**: Capture important business events
* **Resource usage**: Track queue depths, connection pools, cache sizes
