Expand description
OpenDAL Observability
This module offers essential components to facilitate the implementation of observability in OpenDAL.
§OpenDAL Metrics Reference
This document describes all metrics exposed by OpenDAL.
§Operation Metrics
These metrics track operations at the storage abstraction level.
Metric Name | Type | Description | Labels |
---|---|---|---|
operation_bytes | Histogram | Current operation size in bytes, represents the size of data being processed | scheme, namespace, root, operation, path |
operation_bytes_rate | Histogram | Histogram of data processing rates in bytes per second within individual operations | scheme, namespace, root, operation, path |
operation_entries | Histogram | Current operation size in entries, represents the entries being processed | scheme, namespace, root, operation, path |
operation_entries_rate | Histogram | Histogram of entries processing rates in entries per second within individual operations | scheme, namespace, root, operation, path |
operation_duration_seconds | Histogram | Duration of operations in seconds, measured from start to completion | scheme, namespace, root, operation, path |
operation_errors_total | Counter | Total number of failed operations | scheme, namespace, root, operation, path, error |
operation_executing | Gauge | Number of operations currently being executed | scheme, namespace, root, operation |
operation_ttfb_seconds | Histogram | Time to first byte in seconds for operations | scheme, namespace, root, operation, path |
§HTTP Metrics
These metrics track the underlying HTTP requests made by OpenDAL services that use HTTP.
Metric Name | Type | Description | Labels |
---|---|---|---|
http_connection_errors_total | Counter | Total number of HTTP requests that failed before receiving a response | scheme, namespace, root, operation, error |
http_status_errors_total | Counter | Total number of HTTP requests that received error status codes (non-2xx responses) | scheme, namespace, root, operation, status |
http_executing | Gauge | Number of HTTP requests currently in flight from this client | scheme, namespace, root |
http_request_bytes | Histogram | Histogram of HTTP request body sizes in bytes | scheme, namespace, root, operation |
http_request_bytes_rate | Histogram | Histogram of HTTP request bytes per second rates | scheme, namespace, root, operation |
http_request_duration_seconds | Histogram | Histogram of time spent sending HTTP requests, from first byte sent to first byte received | scheme, namespace, root, operation |
http_response_bytes | Histogram | Histogram of HTTP response body sizes in bytes | scheme, namespace, root, operation |
http_response_bytes_rate | Histogram | Histogram of HTTP response bytes per second rates | scheme, namespace, root, operation |
http_response_duration_seconds | Histogram | Histogram of time spent receiving HTTP responses, from first byte to last byte received | scheme, namespace, root, operation |
§Label Descriptions
Label | Description | Example Values |
---|---|---|
scheme | The storage service scheme | s3, gcs, azblob, fs, memory |
namespace | The storage service namespace (bucket, container, etc.) | my-bucket, my-container |
root | The root path within the namespace | /data, /backup |
operation | The operation being performed | read, write, stat, list, delete |
path | The path of the object being operated on | /path/to/file.txt |
error | The error type or message for error metrics | not_found, permission_denied |
status | The HTTP status code for HTTP error metrics | 404, 403, 500 |
§Metric Types
- Histogram: Distribution of values with configurable buckets, includes count, sum and quantiles
- Counter: Cumulative metric that only increases over time (resets on restart)
- Gauge: Point-in-time metric that can increase and decrease
Structs§
- Metric
Labels - MetricLabels are the labels for the metrics.
- Metrics
Accessor - The metrics accessor for opendal.
- Metrics
Layer - The metrics layer for opendal.
Enums§
- Metric
Value - MetricValue is the value the opendal sends to the metrics impls.
Constants§
- DEFAULT_
BYTES_ BUCKETS - Buckets for data size metrics like OperationBytes Covers typical file and object sizes from small files to large objects
- DEFAULT_
BYTES_ RATE_ BUCKETS - Buckets for data transfer rate metrics like OperationBytesRate
- DEFAULT_
DURATION_ SECONDS_ BUCKETS - Buckets for operation duration metrics like OperationDurationSeconds Covers timeframes from fast metadata operations to long-running transfers
- DEFAULT_
ENTRIES_ BUCKETS - Buckets for batch operation entry counts (OperationEntriesCount) Covers scenarios from single entry operations to large batch operations
- DEFAULT_
ENTRIES_ RATE_ BUCKETS - Buckets for batch operation processing rates (OperationEntriesRate) Measures how many entries can be processed per second
- DEFAULT_
TTFB_ BUCKETS - Buckets for time to first byte metrics like OperationTtfbSeconds Focuses on initial response times, which are typically shorter than full operations
Statics§
- LABEL_
ERROR - The metric label for the error.
- LABEL_
NAMESPACE - The metric label for the namespace like bucket name in s3.
- LABEL_
OPERATION - The metric label for the operation like read, write, list.
- LABEL_
ROOT - The metric label for the root path.
- LABEL_
SCHEME - The metric label for the scheme like s3, fs, cos.
- LABEL_
STATUS_ CODE - The metric label for the http code.
Traits§
- Metrics
Intercept - The interceptor for metrics.