---
metadata:
  - name: generator
    content: Diplodoc Platform v5.50.6
alternate:
  - https://ydb.tech/docs/en/reference/ydb-sdk/observability/metrics/prometheus.md?version=main
  - https://ydb.tech/docs/ru/reference/ydb-sdk/observability/metrics/prometheus.md?version=main
sourcePath: en/core/reference/ydb-sdk/observability/metrics/prometheus.md
---
> **Documentation Index:** Fetch the complete configuration index at https://ydb.tech/docs/en/llms.txt

# Enabling metrics in Prometheus

Below are code examples for enabling metrics in Prometheus in different YDB SDKs.

{% list tabs %}

- C++

  This feature is not currently supported.

- Go

  {% list tabs %}

  - Native SDK

    ```go
    package main

    import (
        "context"

        "github.com/prometheus/client_golang/prometheus"
        metrics "github.com/ydb-platform/ydb-go-sdk-prometheus/v2"
        "github.com/ydb-platform/ydb-go-sdk/v3"
        "github.com/ydb-platform/ydb-go-sdk/v3/trace"
    )

    func main() {
        ctx := context.Background()
        registry := prometheus.NewRegistry()
        db, err := ydb.Open(ctx,
            os.Getenv("YDB_CONNECTION_STRING"),
            metrics.WithTraces(
                registry,
                metrics.WithDetails(trace.DetailsAll),
                metrics.WithSeparator("_"),
            ),
        )
        if err != nil {
            panic(err)
        }
        defer db.Close(ctx)
        ...
    }
    ```

  - database/sql

    ```go
    package main

    import (
        "context"
        "database/sql"

        "github.com/prometheus/client_golang/prometheus"
        metrics "github.com/ydb-platform/ydb-go-sdk-prometheus/v2"
        "github.com/ydb-platform/ydb-go-sdk/v3"
        "github.com/ydb-platform/ydb-go-sdk/v3/trace"
    )

    func main() {
        ctx := context.Background()
        registry := prometheus.NewRegistry()
        nativeDriver, err := ydb.Open(ctx,
            os.Getenv("YDB_CONNECTION_STRING"),
            metrics.WithTraces(
                registry,
                metrics.WithDetails(trace.DetailsAll),
                metrics.WithSeparator("_"),
            ),
        )
        if err != nil {
            panic(err)
        }
        defer nativeDriver.Close(ctx)

        connector, err := ydb.Connector(nativeDriver)
        if err != nil {
            panic(err)
        }

        db := sql.OpenDB(connector)
        defer db.Close()
        ...
    }
    ```

  {% endlist %}

- Java

  <!-- source: en/_includes/feature-not-supported.md -->
  This functionality is not currently supported.
  <!-- endsource: en/_includes/feature-not-supported.md -->

- Python

  <!-- source: en/_includes/feature-not-supported.md -->
  This functionality is not currently supported.
  <!-- endsource: en/_includes/feature-not-supported.md -->

- C#

  <!-- source: en/_includes/feature-not-supported.md -->
  This functionality is not currently supported.
  <!-- endsource: en/_includes/feature-not-supported.md -->

- JavaScript

  <!-- source: en/_includes/feature-not-supported.md -->
  This functionality is not currently supported.
  <!-- endsource: en/_includes/feature-not-supported.md -->

- Rust

  <!-- source: en/_includes/feature-not-supported.md -->
  This functionality is not currently supported.
  <!-- endsource: en/_includes/feature-not-supported.md -->

  Track progress or vote for support in the Rust SDK: [ydb-rs-sdk#267](https://github.com/ydb-platform/ydb-rs-sdk/issues/267)

- PHP

  <!-- source: en/_includes/feature-not-supported.md -->
  This functionality is not currently supported.
  <!-- endsource: en/_includes/feature-not-supported.md -->

{% endlist %}
