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!

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