Repository: risingwavelabs/risingwave
File: src/meta/src/rpc/metrics.rs (Rust)

Code before:
        let table_info = register_int_gauge_vec_with_registry!(
            "table_info",
            "Mapping from table id to (actor id, table name)",
            &[
                "materialized_view_id",
                "table_id",
                "fragment_id",
                "table_name",
                "table_type",
                "compaction_group_id"
            ],
            registry
        )
        .unwrap();

        let sink_info = register_int_gauge_vec_with_registry!(
            "sink_info",
            "Mapping from actor id to (actor id, sink name)",
            &["actor_id", "sink_id", "sink_name",],
            registry
        )
        .unwrap();

        let relation_info = register_int_gauge_vec_with_registry!(
            "relation_info",
            "Information of the database relation (table/source/sink/materialized view/index)",
            &["id", "database", "schema", "name", "resource_group", "type"],
            registry
        )
        .unwrap();

        let l0_compact_level_count = register_histogram_vec_with_registry!(
            "storage_l0_compact_level_count",
            "level_count of l0 compact task",
            &["group", "type"],
            registry
        )
        .unwrap();

        // System parameter info
        let system_param_info = register_int_gauge_vec_with_registry!(
            "system_param_info",
            "Information of system parameters",
            &["name", "value"],
            registry
        )
        .unwrap();

        let opts = histogram_opts!(
            "storage_compact_task_size",
            "Total size of compact that have been issued to state store",

Review comment (suggestion):
The `relation_info` metric description lists table/source/sink/materialized view/index, but `refresh_relation_info_metrics` can now emit `type="internal"` for `TableType::Internal`. Update the description to include `internal` (and/or decide to filter internal tables out of this metric) so the metric docs match the actual label values.
```suggestion
            "Information of the database relation (table/source/sink/materialized view/index/internal)",
```

Code after:
        let table_info = register_int_gauge_vec_with_registry!(
            "table_info",
            "Mapping from table id to (actor id, table name)",
            &[
                "materialized_view_id",
                "table_id",
                "fragment_id",
                "table_name",
                "table_type",
                "compaction_group_id"
            ],
            registry
        )
        .unwrap();

        let sink_info = register_int_gauge_vec_with_registry!(
            "sink_info",
            "Mapping from actor id to (actor id, sink name)",
            &["actor_id", "sink_id", "sink_name",],
            registry
        )
        .unwrap();

        let relation_info = register_int_gauge_vec_with_registry!(
            "relation_info",
            "Information of the database relation (table/source/sink/materialized view/index/internal)",
            &["id", "database", "schema", "name", "resource_group", "type"],
            registry
        )
        .unwrap();

        let l0_compact_level_count = register_histogram_vec_with_registry!(
            "storage_l0_compact_level_count",
            "level_count of l0 compact task",
            &["group", "type"],
            registry
        )
        .unwrap();

        // System parameter info
        let system_param_info = register_int_gauge_vec_with_registry!(
            "system_param_info",
            "Information of system parameters",
            &["name", "value"],
            registry
        )
        .unwrap();

        let opts = histogram_opts!(
            "storage_compact_task_size",
            "Total size of compact that have been issued to state store",