Skip to content

Conversation

@minuk-dev
Copy link

@minuk-dev minuk-dev commented Oct 6, 2025

I cannot find the metrics support of otel for mongo-driver. If I'm wrong, please let me know. 🙇

Description

Implementations

- Define & Implement NewPoolMonitor to collect database's connection pool metrics.
- Support db.client.operation.duration and db.client.response.returned_rows metrics:
~~- Limitation: In the doc (https://opentelemetry.io/docs/specs/semconv/database/database-metrics/), db.query.text is a opt-in attributes. But, mongo-driver does not provides this information. So, I left it as a todo comment. ~~

  • Support db.client.operation.duration metric.

Sample output as a prometheus format

# HELP db_client_connection_count The number of connections that are currently in state described by the `state` attribute.
# TYPE db_client_connection_count gauge
db_client_connection_count{db_client_connection_pool_name="apiserver-mongo-pool",db_client_connection_state="idle",db_system_name="mongodb",otel_scope_name="go.opentelemetry.io/contrib/instrumentation/go.mongodb.org/mongo-driver/v2/mongo/otelmongo",otel_scope_schema_url="",otel_scope_version="0.60.0"} 2
db_client_connection_count{db_client_connection_pool_name="apiserver-mongo-pool",db_client_connection_state="used",db_system_name="mongodb",otel_scope_name="go.opentelemetry.io/contrib/instrumentation/go.mongodb.org/mongo-driver/v2/mongo/otelmongo",otel_scope_schema_url="",otel_scope_version="0.60.0"} 0
# HELP db_client_connection_create_time_seconds The time it took to create a new connection.
# TYPE db_client_connection_create_time_seconds histogram
db_client_connection_create_time_seconds_bucket{db_client_connection_pool_name="apiserver-mongo-pool",db_system_name="mongodb",otel_scope_name="go.opentelemetry.io/contrib/instrumentation/go.mongodb.org/mongo-driver/v2/mongo/otelmongo",otel_scope_schema_url="",otel_scope_version="0.60.0",le="0"} 0
db_client_connection_create_time_seconds_bucket{db_client_connection_pool_name="apiserver-mongo-pool",db_system_name="mongodb",otel_scope_name="go.opentelemetry.io/contrib/instrumentation/go.mongodb.org/mongo-driver/v2/mongo/otelmongo",otel_scope_schema_url="",otel_scope_version="0.60.0",le="5"} 2
db_client_connection_create_time_seconds_bucket{db_client_connection_pool_name="apiserver-mongo-pool",db_system_name="mongodb",otel_scope_name="go.opentelemetry.io/contrib/instrumentation/go.mongodb.org/mongo-driver/v2/mongo/otelmongo",otel_scope_schema_url="",otel_scope_version="0.60.0",le="10"} 2
db_client_connection_create_time_seconds_bucket{db_client_connection_pool_name="apiserver-mongo-pool",db_system_name="mongodb",otel_scope_name="go.opentelemetry.io/contrib/instrumentation/go.mongodb.org/mongo-driver/v2/mongo/otelmongo",otel_scope_schema_url="",otel_scope_version="0.60.0",le="25"} 2
db_client_connection_create_time_seconds_bucket{db_client_connection_pool_name="apiserver-mongo-pool",db_system_name="mongodb",otel_scope_name="go.opentelemetry.io/contrib/instrumentation/go.mongodb.org/mongo-driver/v2/mongo/otelmongo",otel_scope_schema_url="",otel_scope_version="0.60.0",le="50"} 2
db_client_connection_create_time_seconds_bucket{db_client_connection_pool_name="apiserver-mongo-pool",db_system_name="mongodb",otel_scope_name="go.opentelemetry.io/contrib/instrumentation/go.mongodb.org/mongo-driver/v2/mongo/otelmongo",otel_scope_schema_url="",otel_scope_version="0.60.0",le="75"} 2
db_client_connection_create_time_seconds_bucket{db_client_connection_pool_name="apiserver-mongo-pool",db_system_name="mongodb",otel_scope_name="go.opentelemetry.io/contrib/instrumentation/go.mongodb.org/mongo-driver/v2/mongo/otelmongo",otel_scope_schema_url="",otel_scope_version="0.60.0",le="100"} 2
db_client_connection_create_time_seconds_bucket{db_client_connection_pool_name="apiserver-mongo-pool",db_system_name="mongodb",otel_scope_name="go.opentelemetry.io/contrib/instrumentation/go.mongodb.org/mongo-driver/v2/mongo/otelmongo",otel_scope_schema_url="",otel_scope_version="0.60.0",le="250"} 2
db_client_connection_create_time_seconds_bucket{db_client_connection_pool_name="apiserver-mongo-pool",db_system_name="mongodb",otel_scope_name="go.opentelemetry.io/contrib/instrumentation/go.mongodb.org/mongo-driver/v2/mongo/otelmongo",otel_scope_schema_url="",otel_scope_version="0.60.0",le="500"} 2
db_client_connection_create_time_seconds_bucket{db_client_connection_pool_name="apiserver-mongo-pool",db_system_name="mongodb",otel_scope_name="go.opentelemetry.io/contrib/instrumentation/go.mongodb.org/mongo-driver/v2/mongo/otelmongo",otel_scope_schema_url="",otel_scope_version="0.60.0",le="750"} 2
db_client_connection_create_time_seconds_bucket{db_client_connection_pool_name="apiserver-mongo-pool",db_system_name="mongodb",otel_scope_name="go.opentelemetry.io/contrib/instrumentation/go.mongodb.org/mongo-driver/v2/mongo/otelmongo",otel_scope_schema_url="",otel_scope_version="0.60.0",le="1000"} 2
db_client_connection_create_time_seconds_bucket{db_client_connection_pool_name="apiserver-mongo-pool",db_system_name="mongodb",otel_scope_name="go.opentelemetry.io/contrib/instrumentation/go.mongodb.org/mongo-driver/v2/mongo/otelmongo",otel_scope_schema_url="",otel_scope_version="0.60.0",le="2500"} 2
db_client_connection_create_time_seconds_bucket{db_client_connection_pool_name="apiserver-mongo-pool",db_system_name="mongodb",otel_scope_name="go.opentelemetry.io/contrib/instrumentation/go.mongodb.org/mongo-driver/v2/mongo/otelmongo",otel_scope_schema_url="",otel_scope_version="0.60.0",le="5000"} 2
db_client_connection_create_time_seconds_bucket{db_client_connection_pool_name="apiserver-mongo-pool",db_system_name="mongodb",otel_scope_name="go.opentelemetry.io/contrib/instrumentation/go.mongodb.org/mongo-driver/v2/mongo/otelmongo",otel_scope_schema_url="",otel_scope_version="0.60.0",le="7500"} 2
db_client_connection_create_time_seconds_bucket{db_client_connection_pool_name="apiserver-mongo-pool",db_system_name="mongodb",otel_scope_name="go.opentelemetry.io/contrib/instrumentation/go.mongodb.org/mongo-driver/v2/mongo/otelmongo",otel_scope_schema_url="",otel_scope_version="0.60.0",le="10000"} 2
db_client_connection_create_time_seconds_bucket{db_client_connection_pool_name="apiserver-mongo-pool",db_system_name="mongodb",otel_scope_name="go.opentelemetry.io/contrib/instrumentation/go.mongodb.org/mongo-driver/v2/mongo/otelmongo",otel_scope_schema_url="",otel_scope_version="0.60.0",le="+Inf"} 2
db_client_connection_create_time_seconds_sum{db_client_connection_pool_name="apiserver-mongo-pool",db_system_name="mongodb",otel_scope_name="go.opentelemetry.io/contrib/instrumentation/go.mongodb.org/mongo-driver/v2/mongo/otelmongo",otel_scope_schema_url="",otel_scope_version="0.60.0"} 0.006576917
db_client_connection_create_time_seconds_count{db_client_connection_pool_name="apiserver-mongo-pool",db_system_name="mongodb",otel_scope_name="go.opentelemetry.io/contrib/instrumentation/go.mongodb.org/mongo-driver/v2/mongo/otelmongo",otel_scope_schema_url="",otel_scope_version="0.60.0"} 2
# HELP db_client_connection_idle_max The maximum number of idle open connections allowed.
# TYPE db_client_connection_idle_max gauge
db_client_connection_idle_max{db_client_connection_pool_name="apiserver-mongo-pool",db_system_name="mongodb",otel_scope_name="go.opentelemetry.io/contrib/instrumentation/go.mongodb.org/mongo-driver/v2/mongo/otelmongo",otel_scope_schema_url="",otel_scope_version="0.60.0"} 100
# HELP db_client_connection_idle_min The minimum number of idle open connections allowed.
# TYPE db_client_connection_idle_min gauge
db_client_connection_idle_min{db_client_connection_pool_name="apiserver-mongo-pool",db_system_name="mongodb",otel_scope_name="go.opentelemetry.io/contrib/instrumentation/go.mongodb.org/mongo-driver/v2/mongo/otelmongo",otel_scope_schema_url="",otel_scope_version="0.60.0"} 0
# HELP db_client_operation_duration_seconds Duration of database client operations.
# TYPE db_client_operation_duration_seconds histogram
db_client_operation_duration_seconds_bucket{db_namespace="admin",db_operation_name="ping",db_response_status_code="OK",db_system_name="mongodb",network_peer_address="localhost:27017[-4]",network_peer_port="27017",network_transport="tcp",otel_scope_name="go.opentelemetry.io/contrib/instrumentation/go.mongodb.org/mongo-driver/v2/mongo/otelmongo",otel_scope_schema_url="",otel_scope_version="0.60.0",le="0.001"} 1
db_client_operation_duration_seconds_bucket{db_namespace="admin",db_operation_name="ping",db_response_status_code="OK",db_system_name="mongodb",network_peer_address="localhost:27017[-4]",network_peer_port="27017",network_transport="tcp",otel_scope_name="go.opentelemetry.io/contrib/instrumentation/go.mongodb.org/mongo-driver/v2/mongo/otelmongo",otel_scope_schema_url="",otel_scope_version="0.60.0",le="0.005"} 1
db_client_operation_duration_seconds_bucket{db_namespace="admin",db_operation_name="ping",db_response_status_code="OK",db_system_name="mongodb",network_peer_address="localhost:27017[-4]",network_peer_port="27017",network_transport="tcp",otel_scope_name="go.opentelemetry.io/contrib/instrumentation/go.mongodb.org/mongo-driver/v2/mongo/otelmongo",otel_scope_schema_url="",otel_scope_version="0.60.0",le="0.01"} 1
db_client_operation_duration_seconds_bucket{db_namespace="admin",db_operation_name="ping",db_response_status_code="OK",db_system_name="mongodb",network_peer_address="localhost:27017[-4]",network_peer_port="27017",network_transport="tcp",otel_scope_name="go.opentelemetry.io/contrib/instrumentation/go.mongodb.org/mongo-driver/v2/mongo/otelmongo",otel_scope_schema_url="",otel_scope_version="0.60.0",le="0.05"} 1
db_client_operation_duration_seconds_bucket{db_namespace="admin",db_operation_name="ping",db_response_status_code="OK",db_system_name="mongodb",network_peer_address="localhost:27017[-4]",network_peer_port="27017",network_transport="tcp",otel_scope_name="go.opentelemetry.io/contrib/instrumentation/go.mongodb.org/mongo-driver/v2/mongo/otelmongo",otel_scope_schema_url="",otel_scope_version="0.60.0",le="0.1"} 1
db_client_operation_duration_seconds_bucket{db_namespace="admin",db_operation_name="ping",db_response_status_code="OK",db_system_name="mongodb",network_peer_address="localhost:27017[-4]",network_peer_port="27017",network_transport="tcp",otel_scope_name="go.opentelemetry.io/contrib/instrumentation/go.mongodb.org/mongo-driver/v2/mongo/otelmongo",otel_scope_schema_url="",otel_scope_version="0.60.0",le="0.5"} 1
db_client_operation_duration_seconds_bucket{db_namespace="admin",db_operation_name="ping",db_response_status_code="OK",db_system_name="mongodb",network_peer_address="localhost:27017[-4]",network_peer_port="27017",network_transport="tcp",otel_scope_name="go.opentelemetry.io/contrib/instrumentation/go.mongodb.org/mongo-driver/v2/mongo/otelmongo",otel_scope_schema_url="",otel_scope_version="0.60.0",le="1"} 1
db_client_operation_duration_seconds_bucket{db_namespace="admin",db_operation_name="ping",db_response_status_code="OK",db_system_name="mongodb",network_peer_address="localhost:27017[-4]",network_peer_port="27017",network_transport="tcp",otel_scope_name="go.opentelemetry.io/contrib/instrumentation/go.mongodb.org/mongo-driver/v2/mongo/otelmongo",otel_scope_schema_url="",otel_scope_version="0.60.0",le="5"} 1
db_client_operation_duration_seconds_bucket{db_namespace="admin",db_operation_name="ping",db_response_status_code="OK",db_system_name="mongodb",network_peer_address="localhost:27017[-4]",network_peer_port="27017",network_transport="tcp",otel_scope_name="go.opentelemetry.io/contrib/instrumentation/go.mongodb.org/mongo-driver/v2/mongo/otelmongo",otel_scope_schema_url="",otel_scope_version="0.60.0",le="10"} 1
db_client_operation_duration_seconds_bucket{db_namespace="admin",db_operation_name="ping",db_response_status_code="OK",db_system_name="mongodb",network_peer_address="localhost:27017[-4]",network_peer_port="27017",network_transport="tcp",otel_scope_name="go.opentelemetry.io/contrib/instrumentation/go.mongodb.org/mongo-driver/v2/mongo/otelmongo",otel_scope_schema_url="",otel_scope_version="0.60.0",le="+Inf"} 1
db_client_operation_duration_seconds_sum{db_namespace="admin",db_operation_name="ping",db_response_status_code="OK",db_system_name="mongodb",network_peer_address="localhost:27017[-4]",network_peer_port="27017",network_transport="tcp",otel_scope_name="go.opentelemetry.io/contrib/instrumentation/go.mongodb.org/mongo-driver/v2/mongo/otelmongo",otel_scope_schema_url="",otel_scope_version="0.60.0"} 0.000779667
db_client_operation_duration_seconds_count{db_namespace="admin",db_operation_name="ping",db_response_status_code="OK",db_system_name="mongodb",network_peer_address="localhost:27017[-4]",network_peer_port="27017",network_transport="tcp",otel_scope_name="go.opentelemetry.io/contrib/instrumentation/go.mongodb.org/mongo-driver/v2/mongo/otelmongo",otel_scope_schema_url="",otel_scope_version="0.60.0"} 1
db_client_operation_duration_seconds_bucket{db_namespace="opampcommander",db_operation_name="aggregate",db_response_status_code="OK",db_system_name="mongodb",network_peer_address="localhost:27017[-4]",network_peer_port="27017",network_transport="tcp",otel_scope_name="go.opentelemetry.io/contrib/instrumentation/go.mongodb.org/mongo-driver/v2/mongo/otelmongo",otel_scope_schema_url="",otel_scope_version="0.60.0",le="0.001"} 0
db_client_operation_duration_seconds_bucket{db_namespace="opampcommander",db_operation_name="aggregate",db_response_status_code="OK",db_system_name="mongodb",network_peer_address="localhost:27017[-4]",network_peer_port="27017",network_transport="tcp",otel_scope_name="go.opentelemetry.io/contrib/instrumentation/go.mongodb.org/mongo-driver/v2/mongo/otelmongo",otel_scope_schema_url="",otel_scope_version="0.60.0",le="0.005"} 1
db_client_operation_duration_seconds_bucket{db_namespace="opampcommander",db_operation_name="aggregate",db_response_status_code="OK",db_system_name="mongodb",network_peer_address="localhost:27017[-4]",network_peer_port="27017",network_transport="tcp",otel_scope_name="go.opentelemetry.io/contrib/instrumentation/go.mongodb.org/mongo-driver/v2/mongo/otelmongo",otel_scope_schema_url="",otel_scope_version="0.60.0",le="0.01"} 2
db_client_operation_duration_seconds_bucket{db_namespace="opampcommander",db_operation_name="aggregate",db_response_status_code="OK",db_system_name="mongodb",network_peer_address="localhost:27017[-4]",network_peer_port="27017",network_transport="tcp",otel_scope_name="go.opentelemetry.io/contrib/instrumentation/go.mongodb.org/mongo-driver/v2/mongo/otelmongo",otel_scope_schema_url="",otel_scope_version="0.60.0",le="0.05"} 2
db_client_operation_duration_seconds_bucket{db_namespace="opampcommander",db_operation_name="aggregate",db_response_status_code="OK",db_system_name="mongodb",network_peer_address="localhost:27017[-4]",network_peer_port="27017",network_transport="tcp",otel_scope_name="go.opentelemetry.io/contrib/instrumentation/go.mongodb.org/mongo-driver/v2/mongo/otelmongo",otel_scope_schema_url="",otel_scope_version="0.60.0",le="0.1"} 2
db_client_operation_duration_seconds_bucket{db_namespace="opampcommander",db_operation_name="aggregate",db_response_status_code="OK",db_system_name="mongodb",network_peer_address="localhost:27017[-4]",network_peer_port="27017",network_transport="tcp",otel_scope_name="go.opentelemetry.io/contrib/instrumentation/go.mongodb.org/mongo-driver/v2/mongo/otelmongo",otel_scope_schema_url="",otel_scope_version="0.60.0",le="0.5"} 2
db_client_operation_duration_seconds_bucket{db_namespace="opampcommander",db_operation_name="aggregate",db_response_status_code="OK",db_system_name="mongodb",network_peer_address="localhost:27017[-4]",network_peer_port="27017",network_transport="tcp",otel_scope_name="go.opentelemetry.io/contrib/instrumentation/go.mongodb.org/mongo-driver/v2/mongo/otelmongo",otel_scope_schema_url="",otel_scope_version="0.60.0",le="1"} 2
db_client_operation_duration_seconds_bucket{db_namespace="opampcommander",db_operation_name="aggregate",db_response_status_code="OK",db_system_name="mongodb",network_peer_address="localhost:27017[-4]",network_peer_port="27017",network_transport="tcp",otel_scope_name="go.opentelemetry.io/contrib/instrumentation/go.mongodb.org/mongo-driver/v2/mongo/otelmongo",otel_scope_schema_url="",otel_scope_version="0.60.0",le="5"} 2
db_client_operation_duration_seconds_bucket{db_namespace="opampcommander",db_operation_name="aggregate",db_response_status_code="OK",db_system_name="mongodb",network_peer_address="localhost:27017[-4]",network_peer_port="27017",network_transport="tcp",otel_scope_name="go.opentelemetry.io/contrib/instrumentation/go.mongodb.org/mongo-driver/v2/mongo/otelmongo",otel_scope_schema_url="",otel_scope_version="0.60.0",le="10"} 2
db_client_operation_duration_seconds_bucket{db_namespace="opampcommander",db_operation_name="aggregate",db_response_status_code="OK",db_system_name="mongodb",network_peer_address="localhost:27017[-4]",network_peer_port="27017",network_transport="tcp",otel_scope_name="go.opentelemetry.io/contrib/instrumentation/go.mongodb.org/mongo-driver/v2/mongo/otelmongo",otel_scope_schema_url="",otel_scope_version="0.60.0",le="+Inf"} 2
db_client_operation_duration_seconds_sum{db_namespace="opampcommander",db_operation_name="aggregate",db_response_status_code="OK",db_system_name="mongodb",network_peer_address="localhost:27017[-4]",network_peer_port="27017",network_transport="tcp",otel_scope_name="go.opentelemetry.io/contrib/instrumentation/go.mongodb.org/mongo-driver/v2/mongo/otelmongo",otel_scope_schema_url="",otel_scope_version="0.60.0"} 0.007051667
db_client_operation_duration_seconds_count{db_namespace="opampcommander",db_operation_name="aggregate",db_response_status_code="OK",db_system_name="mongodb",network_peer_address="localhost:27017[-4]",network_peer_port="27017",network_transport="tcp",otel_scope_name="go.opentelemetry.io/contrib/instrumentation/go.mongodb.org/mongo-driver/v2/mongo/otelmongo",otel_scope_schema_url="",otel_scope_version="0.60.0"} 2
db_client_operation_duration_seconds_bucket{db_namespace="opampcommander",db_operation_name="find",db_response_status_code="OK",db_system_name="mongodb",network_peer_address="localhost:27017[-5]",network_peer_port="27017",network_transport="tcp",otel_scope_name="go.opentelemetry.io/contrib/instrumentation/go.mongodb.org/mongo-driver/v2/mongo/otelmongo",otel_scope_schema_url="",otel_scope_version="0.60.0",le="0.001"} 0
db_client_operation_duration_seconds_bucket{db_namespace="opampcommander",db_operation_name="find",db_response_status_code="OK",db_system_name="mongodb",network_peer_address="localhost:27017[-5]",network_peer_port="27017",network_transport="tcp",otel_scope_name="go.opentelemetry.io/contrib/instrumentation/go.mongodb.org/mongo-driver/v2/mongo/otelmongo",otel_scope_schema_url="",otel_scope_version="0.60.0",le="0.005"} 2
db_client_operation_duration_seconds_bucket{db_namespace="opampcommander",db_operation_name="find",db_response_status_code="OK",db_system_name="mongodb",network_peer_address="localhost:27017[-5]",network_peer_port="27017",network_transport="tcp",otel_scope_name="go.opentelemetry.io/contrib/instrumentation/go.mongodb.org/mongo-driver/v2/mongo/otelmongo",otel_scope_schema_url="",otel_scope_version="0.60.0",le="0.01"} 2
db_client_operation_duration_seconds_bucket{db_namespace="opampcommander",db_operation_name="find",db_response_status_code="OK",db_system_name="mongodb",network_peer_address="localhost:27017[-5]",network_peer_port="27017",network_transport="tcp",otel_scope_name="go.opentelemetry.io/contrib/instrumentation/go.mongodb.org/mongo-driver/v2/mongo/otelmongo",otel_scope_schema_url="",otel_scope_version="0.60.0",le="0.05"} 2
db_client_operation_duration_seconds_bucket{db_namespace="opampcommander",db_operation_name="find",db_response_status_code="OK",db_system_name="mongodb",network_peer_address="localhost:27017[-5]",network_peer_port="27017",network_transport="tcp",otel_scope_name="go.opentelemetry.io/contrib/instrumentation/go.mongodb.org/mongo-driver/v2/mongo/otelmongo",otel_scope_schema_url="",otel_scope_version="0.60.0",le="0.1"} 2
db_client_operation_duration_seconds_bucket{db_namespace="opampcommander",db_operation_name="find",db_response_status_code="OK",db_system_name="mongodb",network_peer_address="localhost:27017[-5]",network_peer_port="27017",network_transport="tcp",otel_scope_name="go.opentelemetry.io/contrib/instrumentation/go.mongodb.org/mongo-driver/v2/mongo/otelmongo",otel_scope_schema_url="",otel_scope_version="0.60.0",le="0.5"} 2
db_client_operation_duration_seconds_bucket{db_namespace="opampcommander",db_operation_name="find",db_response_status_code="OK",db_system_name="mongodb",network_peer_address="localhost:27017[-5]",network_peer_port="27017",network_transport="tcp",otel_scope_name="go.opentelemetry.io/contrib/instrumentation/go.mongodb.org/mongo-driver/v2/mongo/otelmongo",otel_scope_schema_url="",otel_scope_version="0.60.0",le="1"} 2
db_client_operation_duration_seconds_bucket{db_namespace="opampcommander",db_operation_name="find",db_response_status_code="OK",db_system_name="mongodb",network_peer_address="localhost:27017[-5]",network_peer_port="27017",network_transport="tcp",otel_scope_name="go.opentelemetry.io/contrib/instrumentation/go.mongodb.org/mongo-driver/v2/mongo/otelmongo",otel_scope_schema_url="",otel_scope_version="0.60.0",le="5"} 2
db_client_operation_duration_seconds_bucket{db_namespace="opampcommander",db_operation_name="find",db_response_status_code="OK",db_system_name="mongodb",network_peer_address="localhost:27017[-5]",network_peer_port="27017",network_transport="tcp",otel_scope_name="go.opentelemetry.io/contrib/instrumentation/go.mongodb.org/mongo-driver/v2/mongo/otelmongo",otel_scope_schema_url="",otel_scope_version="0.60.0",le="10"} 2
db_client_operation_duration_seconds_bucket{db_namespace="opampcommander",db_operation_name="find",db_response_status_code="OK",db_system_name="mongodb",network_peer_address="localhost:27017[-5]",network_peer_port="27017",network_transport="tcp",otel_scope_name="go.opentelemetry.io/contrib/instrumentation/go.mongodb.org/mongo-driver/v2/mongo/otelmongo",otel_scope_schema_url="",otel_scope_version="0.60.0",le="+Inf"} 2
db_client_operation_duration_seconds_sum{db_namespace="opampcommander",db_operation_name="find",db_response_status_code="OK",db_system_name="mongodb",network_peer_address="localhost:27017[-5]",network_peer_port="27017",network_transport="tcp",otel_scope_name="go.opentelemetry.io/contrib/instrumentation/go.mongodb.org/mongo-driver/v2/mongo/otelmongo",otel_scope_schema_url="",otel_scope_version="0.60.0"} 0.003062584
db_client_operation_duration_seconds_count{db_namespace="opampcommander",db_operation_name="find",db_response_status_code="OK",db_system_name="mongodb",network_peer_address="localhost:27017[-5]",network_peer_port="27017",network_transport="tcp",otel_scope_name="go.opentelemetry.io/contrib/instrumentation/go.mongodb.org/mongo-driver/v2/mongo/otelmongo",otel_scope_schema_url="",otel_scope_version="0.60.0"} 2
# HELP db_client_response_returned_rows The actual number of records returned by the database operation.
# TYPE db_client_response_returned_rows histogram
db_client_response_returned_rows_bucket{db_namespace="admin",db_operation_name="ping",db_response_status_code="OK",db_system_name="mongodb",network_peer_address="localhost:27017[-4]",network_peer_port="27017",network_transport="tcp",otel_scope_name="go.opentelemetry.io/contrib/instrumentation/go.mongodb.org/mongo-driver/v2/mongo/otelmongo",otel_scope_schema_url="",otel_scope_version="0.60.0",le="1"} 1
db_client_response_returned_rows_bucket{db_namespace="admin",db_operation_name="ping",db_response_status_code="OK",db_system_name="mongodb",network_peer_address="localhost:27017[-4]",network_peer_port="27017",network_transport="tcp",otel_scope_name="go.opentelemetry.io/contrib/instrumentation/go.mongodb.org/mongo-driver/v2/mongo/otelmongo",otel_scope_schema_url="",otel_scope_version="0.60.0",le="2"} 1
db_client_response_returned_rows_bucket{db_namespace="admin",db_operation_name="ping",db_response_status_code="OK",db_system_name="mongodb",network_peer_address="localhost:27017[-4]",network_peer_port="27017",network_transport="tcp",otel_scope_name="go.opentelemetry.io/contrib/instrumentation/go.mongodb.org/mongo-driver/v2/mongo/otelmongo",otel_scope_schema_url="",otel_scope_version="0.60.0",le="5"} 1
db_client_response_returned_rows_bucket{db_namespace="admin",db_operation_name="ping",db_response_status_code="OK",db_system_name="mongodb",network_peer_address="localhost:27017[-4]",network_peer_port="27017",network_transport="tcp",otel_scope_name="go.opentelemetry.io/contrib/instrumentation/go.mongodb.org/mongo-driver/v2/mongo/otelmongo",otel_scope_schema_url="",otel_scope_version="0.60.0",le="10"} 1
db_client_response_returned_rows_bucket{db_namespace="admin",db_operation_name="ping",db_response_status_code="OK",db_system_name="mongodb",network_peer_address="localhost:27017[-4]",network_peer_port="27017",network_transport="tcp",otel_scope_name="go.opentelemetry.io/contrib/instrumentation/go.mongodb.org/mongo-driver/v2/mongo/otelmongo",otel_scope_schema_url="",otel_scope_version="0.60.0",le="20"} 1
db_client_response_returned_rows_bucket{db_namespace="admin",db_operation_name="ping",db_response_status_code="OK",db_system_name="mongodb",network_peer_address="localhost:27017[-4]",network_peer_port="27017",network_transport="tcp",otel_scope_name="go.opentelemetry.io/contrib/instrumentation/go.mongodb.org/mongo-driver/v2/mongo/otelmongo",otel_scope_schema_url="",otel_scope_version="0.60.0",le="50"} 1
db_client_response_returned_rows_bucket{db_namespace="admin",db_operation_name="ping",db_response_status_code="OK",db_system_name="mongodb",network_peer_address="localhost:27017[-4]",network_peer_port="27017",network_transport="tcp",otel_scope_name="go.opentelemetry.io/contrib/instrumentation/go.mongodb.org/mongo-driver/v2/mongo/otelmongo",otel_scope_schema_url="",otel_scope_version="0.60.0",le="100"} 1
db_client_response_returned_rows_bucket{db_namespace="admin",db_operation_name="ping",db_response_status_code="OK",db_system_name="mongodb",network_peer_address="localhost:27017[-4]",network_peer_port="27017",network_transport="tcp",otel_scope_name="go.opentelemetry.io/contrib/instrumentation/go.mongodb.org/mongo-driver/v2/mongo/otelmongo",otel_scope_schema_url="",otel_scope_version="0.60.0",le="200"} 1
db_client_response_returned_rows_bucket{db_namespace="admin",db_operation_name="ping",db_response_status_code="OK",db_system_name="mongodb",network_peer_address="localhost:27017[-4]",network_peer_port="27017",network_transport="tcp",otel_scope_name="go.opentelemetry.io/contrib/instrumentation/go.mongodb.org/mongo-driver/v2/mongo/otelmongo",otel_scope_schema_url="",otel_scope_version="0.60.0",le="500"} 1
db_client_response_returned_rows_bucket{db_namespace="admin",db_operation_name="ping",db_response_status_code="OK",db_system_name="mongodb",network_peer_address="localhost:27017[-4]",network_peer_port="27017",network_transport="tcp",otel_scope_name="go.opentelemetry.io/contrib/instrumentation/go.mongodb.org/mongo-driver/v2/mongo/otelmongo",otel_scope_schema_url="",otel_scope_version="0.60.0",le="1000"} 1
db_client_response_returned_rows_bucket{db_namespace="admin",db_operation_name="ping",db_response_status_code="OK",db_system_name="mongodb",network_peer_address="localhost:27017[-4]",network_peer_port="27017",network_transport="tcp",otel_scope_name="go.opentelemetry.io/contrib/instrumentation/go.mongodb.org/mongo-driver/v2/mongo/otelmongo",otel_scope_schema_url="",otel_scope_version="0.60.0",le="2000"} 1
db_client_response_returned_rows_bucket{db_namespace="admin",db_operation_name="ping",db_response_status_code="OK",db_system_name="mongodb",network_peer_address="localhost:27017[-4]",network_peer_port="27017",network_transport="tcp",otel_scope_name="go.opentelemetry.io/contrib/instrumentation/go.mongodb.org/mongo-driver/v2/mongo/otelmongo",otel_scope_schema_url="",otel_scope_version="0.60.0",le="5000"} 1
db_client_response_returned_rows_bucket{db_namespace="admin",db_operation_name="ping",db_response_status_code="OK",db_system_name="mongodb",network_peer_address="localhost:27017[-4]",network_peer_port="27017",network_transport="tcp",otel_scope_name="go.opentelemetry.io/contrib/instrumentation/go.mongodb.org/mongo-driver/v2/mongo/otelmongo",otel_scope_schema_url="",otel_scope_version="0.60.0",le="10000"} 1
db_client_response_returned_rows_bucket{db_namespace="admin",db_operation_name="ping",db_response_status_code="OK",db_system_name="mongodb",network_peer_address="localhost:27017[-4]",network_peer_port="27017",network_transport="tcp",otel_scope_name="go.opentelemetry.io/contrib/instrumentation/go.mongodb.org/mongo-driver/v2/mongo/otelmongo",otel_scope_schema_url="",otel_scope_version="0.60.0",le="+Inf"} 1
db_client_response_returned_rows_sum{db_namespace="admin",db_operation_name="ping",db_response_status_code="OK",db_system_name="mongodb",network_peer_address="localhost:27017[-4]",network_peer_port="27017",network_transport="tcp",otel_scope_name="go.opentelemetry.io/contrib/instrumentation/go.mongodb.org/mongo-driver/v2/mongo/otelmongo",otel_scope_schema_url="",otel_scope_version="0.60.0"} 1
db_client_response_returned_rows_count{db_namespace="admin",db_operation_name="ping",db_response_status_code="OK",db_system_name="mongodb",network_peer_address="localhost:27017[-4]",network_peer_port="27017",network_transport="tcp",otel_scope_name="go.opentelemetry.io/contrib/instrumentation/go.mongodb.org/mongo-driver/v2/mongo/otelmongo",otel_scope_schema_url="",otel_scope_version="0.60.0"} 1
db_client_response_returned_rows_bucket{db_namespace="opampcommander",db_operation_name="aggregate",db_response_status_code="OK",db_system_name="mongodb",network_peer_address="localhost:27017[-4]",network_peer_port="27017",network_transport="tcp",otel_scope_name="go.opentelemetry.io/contrib/instrumentation/go.mongodb.org/mongo-driver/v2/mongo/otelmongo",otel_scope_schema_url="",otel_scope_version="0.60.0",le="1"} 0
db_client_response_returned_rows_bucket{db_namespace="opampcommander",db_operation_name="aggregate",db_response_status_code="OK",db_system_name="mongodb",network_peer_address="localhost:27017[-4]",network_peer_port="27017",network_transport="tcp",otel_scope_name="go.opentelemetry.io/contrib/instrumentation/go.mongodb.org/mongo-driver/v2/mongo/otelmongo",otel_scope_schema_url="",otel_scope_version="0.60.0",le="2"} 2
db_client_response_returned_rows_bucket{db_namespace="opampcommander",db_operation_name="aggregate",db_response_status_code="OK",db_system_name="mongodb",network_peer_address="localhost:27017[-4]",network_peer_port="27017",network_transport="tcp",otel_scope_name="go.opentelemetry.io/contrib/instrumentation/go.mongodb.org/mongo-driver/v2/mongo/otelmongo",otel_scope_schema_url="",otel_scope_version="0.60.0",le="5"} 2
db_client_response_returned_rows_bucket{db_namespace="opampcommander",db_operation_name="aggregate",db_response_status_code="OK",db_system_name="mongodb",network_peer_address="localhost:27017[-4]",network_peer_port="27017",network_transport="tcp",otel_scope_name="go.opentelemetry.io/contrib/instrumentation/go.mongodb.org/mongo-driver/v2/mongo/otelmongo",otel_scope_schema_url="",otel_scope_version="0.60.0",le="10"} 2
db_client_response_returned_rows_bucket{db_namespace="opampcommander",db_operation_name="aggregate",db_response_status_code="OK",db_system_name="mongodb",network_peer_address="localhost:27017[-4]",network_peer_port="27017",network_transport="tcp",otel_scope_name="go.opentelemetry.io/contrib/instrumentation/go.mongodb.org/mongo-driver/v2/mongo/otelmongo",otel_scope_schema_url="",otel_scope_version="0.60.0",le="20"} 2
db_client_response_returned_rows_bucket{db_namespace="opampcommander",db_operation_name="aggregate",db_response_status_code="OK",db_system_name="mongodb",network_peer_address="localhost:27017[-4]",network_peer_port="27017",network_transport="tcp",otel_scope_name="go.opentelemetry.io/contrib/instrumentation/go.mongodb.org/mongo-driver/v2/mongo/otelmongo",otel_scope_schema_url="",otel_scope_version="0.60.0",le="50"} 2
db_client_response_returned_rows_bucket{db_namespace="opampcommander",db_operation_name="aggregate",db_response_status_code="OK",db_system_name="mongodb",network_peer_address="localhost:27017[-4]",network_peer_port="27017",network_transport="tcp",otel_scope_name="go.opentelemetry.io/contrib/instrumentation/go.mongodb.org/mongo-driver/v2/mongo/otelmongo",otel_scope_schema_url="",otel_scope_version="0.60.0",le="100"} 2
db_client_response_returned_rows_bucket{db_namespace="opampcommander",db_operation_name="aggregate",db_response_status_code="OK",db_system_name="mongodb",network_peer_address="localhost:27017[-4]",network_peer_port="27017",network_transport="tcp",otel_scope_name="go.opentelemetry.io/contrib/instrumentation/go.mongodb.org/mongo-driver/v2/mongo/otelmongo",otel_scope_schema_url="",otel_scope_version="0.60.0",le="200"} 2
db_client_response_returned_rows_bucket{db_namespace="opampcommander",db_operation_name="aggregate",db_response_status_code="OK",db_system_name="mongodb",network_peer_address="localhost:27017[-4]",network_peer_port="27017",network_transport="tcp",otel_scope_name="go.opentelemetry.io/contrib/instrumentation/go.mongodb.org/mongo-driver/v2/mongo/otelmongo",otel_scope_schema_url="",otel_scope_version="0.60.0",le="500"} 2
db_client_response_returned_rows_bucket{db_namespace="opampcommander",db_operation_name="aggregate",db_response_status_code="OK",db_system_name="mongodb",network_peer_address="localhost:27017[-4]",network_peer_port="27017",network_transport="tcp",otel_scope_name="go.opentelemetry.io/contrib/instrumentation/go.mongodb.org/mongo-driver/v2/mongo/otelmongo",otel_scope_schema_url="",otel_scope_version="0.60.0",le="1000"} 2
db_client_response_returned_rows_bucket{db_namespace="opampcommander",db_operation_name="aggregate",db_response_status_code="OK",db_system_name="mongodb",network_peer_address="localhost:27017[-4]",network_peer_port="27017",network_transport="tcp",otel_scope_name="go.opentelemetry.io/contrib/instrumentation/go.mongodb.org/mongo-driver/v2/mongo/otelmongo",otel_scope_schema_url="",otel_scope_version="0.60.0",le="2000"} 2
db_client_response_returned_rows_bucket{db_namespace="opampcommander",db_operation_name="aggregate",db_response_status_code="OK",db_system_name="mongodb",network_peer_address="localhost:27017[-4]",network_peer_port="27017",network_transport="tcp",otel_scope_name="go.opentelemetry.io/contrib/instrumentation/go.mongodb.org/mongo-driver/v2/mongo/otelmongo",otel_scope_schema_url="",otel_scope_version="0.60.0",le="5000"} 2
db_client_response_returned_rows_bucket{db_namespace="opampcommander",db_operation_name="aggregate",db_response_status_code="OK",db_system_name="mongodb",network_peer_address="localhost:27017[-4]",network_peer_port="27017",network_transport="tcp",otel_scope_name="go.opentelemetry.io/contrib/instrumentation/go.mongodb.org/mongo-driver/v2/mongo/otelmongo",otel_scope_schema_url="",otel_scope_version="0.60.0",le="10000"} 2
db_client_response_returned_rows_bucket{db_namespace="opampcommander",db_operation_name="aggregate",db_response_status_code="OK",db_system_name="mongodb",network_peer_address="localhost:27017[-4]",network_peer_port="27017",network_transport="tcp",otel_scope_name="go.opentelemetry.io/contrib/instrumentation/go.mongodb.org/mongo-driver/v2/mongo/otelmongo",otel_scope_schema_url="",otel_scope_version="0.60.0",le="+Inf"} 2
db_client_response_returned_rows_sum{db_namespace="opampcommander",db_operation_name="aggregate",db_response_status_code="OK",db_system_name="mongodb",network_peer_address="localhost:27017[-4]",network_peer_port="27017",network_transport="tcp",otel_scope_name="go.opentelemetry.io/contrib/instrumentation/go.mongodb.org/mongo-driver/v2/mongo/otelmongo",otel_scope_schema_url="",otel_scope_version="0.60.0"} 4
db_client_response_returned_rows_count{db_namespace="opampcommander",db_operation_name="aggregate",db_response_status_code="OK",db_system_name="mongodb",network_peer_address="localhost:27017[-4]",network_peer_port="27017",network_transport="tcp",otel_scope_name="go.opentelemetry.io/contrib/instrumentation/go.mongodb.org/mongo-driver/v2/mongo/otelmongo",otel_scope_schema_url="",otel_scope_version="0.60.0"} 2
db_client_response_returned_rows_bucket{db_namespace="opampcommander",db_operation_name="find",db_response_status_code="OK",db_system_name="mongodb",network_peer_address="localhost:27017[-5]",network_peer_port="27017",network_transport="tcp",otel_scope_name="go.opentelemetry.io/contrib/instrumentation/go.mongodb.org/mongo-driver/v2/mongo/otelmongo",otel_scope_schema_url="",otel_scope_version="0.60.0",le="1"} 0
db_client_response_returned_rows_bucket{db_namespace="opampcommander",db_operation_name="find",db_response_status_code="OK",db_system_name="mongodb",network_peer_address="localhost:27017[-5]",network_peer_port="27017",network_transport="tcp",otel_scope_name="go.opentelemetry.io/contrib/instrumentation/go.mongodb.org/mongo-driver/v2/mongo/otelmongo",otel_scope_schema_url="",otel_scope_version="0.60.0",le="2"} 2
db_client_response_returned_rows_bucket{db_namespace="opampcommander",db_operation_name="find",db_response_status_code="OK",db_system_name="mongodb",network_peer_address="localhost:27017[-5]",network_peer_port="27017",network_transport="tcp",otel_scope_name="go.opentelemetry.io/contrib/instrumentation/go.mongodb.org/mongo-driver/v2/mongo/otelmongo",otel_scope_schema_url="",otel_scope_version="0.60.0",le="5"} 2
db_client_response_returned_rows_bucket{db_namespace="opampcommander",db_operation_name="find",db_response_status_code="OK",db_system_name="mongodb",network_peer_address="localhost:27017[-5]",network_peer_port="27017",network_transport="tcp",otel_scope_name="go.opentelemetry.io/contrib/instrumentation/go.mongodb.org/mongo-driver/v2/mongo/otelmongo",otel_scope_schema_url="",otel_scope_version="0.60.0",le="10"} 2
db_client_response_returned_rows_bucket{db_namespace="opampcommander",db_operation_name="find",db_response_status_code="OK",db_system_name="mongodb",network_peer_address="localhost:27017[-5]",network_peer_port="27017",network_transport="tcp",otel_scope_name="go.opentelemetry.io/contrib/instrumentation/go.mongodb.org/mongo-driver/v2/mongo/otelmongo",otel_scope_schema_url="",otel_scope_version="0.60.0",le="20"} 2
db_client_response_returned_rows_bucket{db_namespace="opampcommander",db_operation_name="find",db_response_status_code="OK",db_system_name="mongodb",network_peer_address="localhost:27017[-5]",network_peer_port="27017",network_transport="tcp",otel_scope_name="go.opentelemetry.io/contrib/instrumentation/go.mongodb.org/mongo-driver/v2/mongo/otelmongo",otel_scope_schema_url="",otel_scope_version="0.60.0",le="50"} 2
db_client_response_returned_rows_bucket{db_namespace="opampcommander",db_operation_name="find",db_response_status_code="OK",db_system_name="mongodb",network_peer_address="localhost:27017[-5]",network_peer_port="27017",network_transport="tcp",otel_scope_name="go.opentelemetry.io/contrib/instrumentation/go.mongodb.org/mongo-driver/v2/mongo/otelmongo",otel_scope_schema_url="",otel_scope_version="0.60.0",le="100"} 2
db_client_response_returned_rows_bucket{db_namespace="opampcommander",db_operation_name="find",db_response_status_code="OK",db_system_name="mongodb",network_peer_address="localhost:27017[-5]",network_peer_port="27017",network_transport="tcp",otel_scope_name="go.opentelemetry.io/contrib/instrumentation/go.mongodb.org/mongo-driver/v2/mongo/otelmongo",otel_scope_schema_url="",otel_scope_version="0.60.0",le="200"} 2
db_client_response_returned_rows_bucket{db_namespace="opampcommander",db_operation_name="find",db_response_status_code="OK",db_system_name="mongodb",network_peer_address="localhost:27017[-5]",network_peer_port="27017",network_transport="tcp",otel_scope_name="go.opentelemetry.io/contrib/instrumentation/go.mongodb.org/mongo-driver/v2/mongo/otelmongo",otel_scope_schema_url="",otel_scope_version="0.60.0",le="500"} 2
db_client_response_returned_rows_bucket{db_namespace="opampcommander",db_operation_name="find",db_response_status_code="OK",db_system_name="mongodb",network_peer_address="localhost:27017[-5]",network_peer_port="27017",network_transport="tcp",otel_scope_name="go.opentelemetry.io/contrib/instrumentation/go.mongodb.org/mongo-driver/v2/mongo/otelmongo",otel_scope_schema_url="",otel_scope_version="0.60.0",le="1000"} 2
db_client_response_returned_rows_bucket{db_namespace="opampcommander",db_operation_name="find",db_response_status_code="OK",db_system_name="mongodb",network_peer_address="localhost:27017[-5]",network_peer_port="27017",network_transport="tcp",otel_scope_name="go.opentelemetry.io/contrib/instrumentation/go.mongodb.org/mongo-driver/v2/mongo/otelmongo",otel_scope_schema_url="",otel_scope_version="0.60.0",le="2000"} 2
db_client_response_returned_rows_bucket{db_namespace="opampcommander",db_operation_name="find",db_response_status_code="OK",db_system_name="mongodb",network_peer_address="localhost:27017[-5]",network_peer_port="27017",network_transport="tcp",otel_scope_name="go.opentelemetry.io/contrib/instrumentation/go.mongodb.org/mongo-driver/v2/mongo/otelmongo",otel_scope_schema_url="",otel_scope_version="0.60.0",le="5000"} 2
db_client_response_returned_rows_bucket{db_namespace="opampcommander",db_operation_name="find",db_response_status_code="OK",db_system_name="mongodb",network_peer_address="localhost:27017[-5]",network_peer_port="27017",network_transport="tcp",otel_scope_name="go.opentelemetry.io/contrib/instrumentation/go.mongodb.org/mongo-driver/v2/mongo/otelmongo",otel_scope_schema_url="",otel_scope_version="0.60.0",le="10000"} 2
db_client_response_returned_rows_bucket{db_namespace="opampcommander",db_operation_name="find",db_response_status_code="OK",db_system_name="mongodb",network_peer_address="localhost:27017[-5]",network_peer_port="27017",network_transport="tcp",otel_scope_name="go.opentelemetry.io/contrib/instrumentation/go.mongodb.org/mongo-driver/v2/mongo/otelmongo",otel_scope_schema_url="",otel_scope_version="0.60.0",le="+Inf"} 2
db_client_response_returned_rows_sum{db_namespace="opampcommander",db_operation_name="find",db_response_status_code="OK",db_system_name="mongodb",network_peer_address="localhost:27017[-5]",network_peer_port="27017",network_transport="tcp",otel_scope_name="go.opentelemetry.io/contrib/instrumentation/go.mongodb.org/mongo-driver/v2/mongo/otelmongo",otel_scope_schema_url="",otel_scope_version="0.60.0"} 4
db_client_response_returned_rows_count{db_namespace="opampcommander",db_operation_name="find",db_response_status_code="OK",db_system_name="mongodb",network_peer_address="localhost:27017[-5]",network_peer_port="27017",network_transport="tcp",otel_scope_name="go.opentelemetry.io/contrib/instrumentation/go.mongodb.org/mongo-driver/v2/mongo/otelmongo",otel_scope_schema_url="",otel_scope_version="0.60.0"} 2

@minuk-dev minuk-dev requested a review from a team as a code owner October 6, 2025 17:45
@dmathieu
Copy link
Member

dmathieu commented Oct 6, 2025

cc @prestonvasquez as code owner

@dmathieu
Copy link
Member

dmathieu commented Oct 7, 2025

Looking at this, I think it should be split into multiple PRs to get proper review.

The db.client.response.returned_rows is still in development. So we shouldn't expose it by default, as it may have breaking changes that would make migrations on our end quite a bunch of toil.
If you look at how we do experimental features on the core SDK, that would give you a hint.
This metric should be its own PR.

Similarly, all database connection pools semantic conventions are still under development. So they should also be hidden behind a feature flag.

@minuk-dev minuk-dev force-pushed the mongometric branch 2 times, most recently from 231e886 to 647725b Compare October 9, 2025 05:53
@minuk-dev minuk-dev marked this pull request as draft October 9, 2025 06:17
@minuk-dev
Copy link
Author

minuk-dev commented Oct 9, 2025

Looking at this, I think it should be split into multiple PRs to get proper review.

The db.client.response.returned_rows is still in development. So we shouldn't expose it by default, as it may have breaking changes that would make migrations on our end quite a bunch of toil. If you look at how we do experimental features on the core SDK, that would give you a hint. This metric should be its own PR.

Similarly, all database connection pools semantic conventions are still under development. So they should also be hidden behind a feature flag.

Thank you for your review. I'll make flags to enable the development metrics.

@dmathieu
I think the development metrics' code can have many review comments. So, I removed the metrics in the development stage.
Do you want to review all of them at once, please let me know.

@minuk-dev minuk-dev marked this pull request as ready for review October 9, 2025 06:43
@minuk-dev minuk-dev force-pushed the mongometric branch 2 times, most recently from 2542481 to 288ffdb Compare October 9, 2025 06:45
…n pool

feat(metrics): add metrics tests for MongoDB operations and connection pool

feat(mongo): improve error handling in NewMonitor and add test for invalid meter provider

fix(mongo): remove unnecessary elements extraction in Succeeded method to improve performance

chore: fix removed license

docs: update documentation and examples to support metrics for MongoDB instrumentation

fix missing bucket boundaries

fix nil meterProvider

drop others
Copy link
Member

@prestonvasquez prestonvasquez left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM with a few nits/minor suggestions 👍

Thanks!

@codecov
Copy link

codecov bot commented Nov 12, 2025

Codecov Report

❌ Patch coverage is 86.20690% with 8 lines in your changes missing coverage. Please review.
✅ Project coverage is 81.7%. Comparing base (d9ce9cb) to head (13e621b).

Files with missing lines Patch % Lines
...ngodb.org/mongo-driver/v2/mongo/otelmongo/mongo.go 83.6% 4 Missing and 4 partials ⚠️
Additional details and impacted files

Impacted file tree graph

@@           Coverage Diff           @@
##            main   #7983     +/-   ##
=======================================
- Coverage   81.8%   81.7%   -0.1%     
=======================================
  Files        194     194             
  Lines      13377   13429     +52     
=======================================
+ Hits       10951   10984     +33     
- Misses      2029    2044     +15     
- Partials     397     401      +4     
Files with missing lines Coverage Δ
...godb.org/mongo-driver/v2/mongo/otelmongo/config.go 100.0% <100.0%> (ø)
...ngodb.org/mongo-driver/v2/mongo/otelmongo/mongo.go 87.3% <83.6%> (-3.4%) ⬇️

... and 1 file with indirect coverage changes

🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.

@dmathieu
Copy link
Member

Could you fix the lint issues?

@minuk-dev
Copy link
Author

minuk-dev commented Nov 13, 2025

image

Sorry. I didn't know there is lint. I fixed it.

But, some other CI is failed... I'm checking the reason.

@dmathieu
Copy link
Member

Current failure is because of #8163

@minuk-dev
Copy link
Author

And I found the changelog was wrong. I fixed it.
13e621b

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants