You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Tracing alone does not cover the operational questions DynamoDB users need to answer across many requests, such as request volume, latency distribution, failure rates, consumed capacity, pagination volume, and batch statement errors.
The DynamoDB EF Core provider has DynamoDB-specific diagnostics data that generic EF Core OpenTelemetry instrumentation does not understand because it is relational/IDbCommand-oriented.
Goal
Extend the DynamoDB EF Core OpenTelemetry instrumentation package with metrics for provider-level DynamoDB operations.
scan-like/query classification only if low-cardinality
Avoid high-cardinality values:
partition key values
sort key values
request ids
continuation token values
raw parameter values
raw statement text
Relationship To Existing Diagnostics
Relevant provider payloads include:
DynamoExecuteStatementExecutedEventData
DynamoExecuteStatementFailedEventData
DynamoPartiQlWriteRequestExecutedEventData
DynamoPartiQlWriteRequestFailedEventData
DynamoBatchStatementErrorsEventData
Consumed capacity metrics depend on provider requests being configured with ReturnConsumedCapacity; when DynamoDB does not return capacity data, capacity metrics should not emit misleading zero values.
Problem
Tracing alone does not cover the operational questions DynamoDB users need to answer across many requests, such as request volume, latency distribution, failure rates, consumed capacity, pagination volume, and batch statement errors.
The DynamoDB EF Core provider has DynamoDB-specific diagnostics data that generic EF Core OpenTelemetry instrumentation does not understand because it is relational/
IDbCommand-oriented.Goal
Extend the DynamoDB EF Core OpenTelemetry instrumentation package with metrics for provider-level DynamoDB operations.
Depends on package foundation from #196.
Scope
Expected API Shape
If tracing and metrics share one extension method name, docs should show both tracing and metrics setup clearly.
Metrics To Emit
Record metrics for:
ExecuteStatementqueriesBatchExecuteStatementresponsesCandidate instruments:
dynamodb.efcore.client.operation.durationdynamodb.efcore.client.operation.countdynamodb.efcore.client.operation.errorsdynamodb.efcore.client.consumed_capacitydynamodb.efcore.client.pagesdynamodb.efcore.client.batch_statement_errorsFinal names should be checked against current OpenTelemetry .NET and database semantic-convention guidance before implementation.
Metric Attributes
Use stable, low-cardinality attributes only. Candidate attributes:
ExecuteStatement,ExecuteTransaction,BatchExecuteStatementAvoid high-cardinality values:
Relationship To Existing Diagnostics
Relevant provider payloads include:
DynamoExecuteStatementExecutedEventDataDynamoExecuteStatementFailedEventDataDynamoPartiQlWriteRequestExecutedEventDataDynamoPartiQlWriteRequestFailedEventDataDynamoBatchStatementErrorsEventDataConsumed capacity metrics depend on provider requests being configured with
ReturnConsumedCapacity; when DynamoDB does not return capacity data, capacity metrics should not emit misleading zero values.Acceptance Criteria
ReturnConsumedCapacitybehavior.References