Supported Metrics#
Warning
Note that CTA Metrics is in its early stages and considered experimental. Published metrics and their attributes are likely to change.
Metric and attribute names follow OpenTelemetry semantic conventions, with CTA-specific prefixes for internal domains (e.g., cta.taped
, cta.scheduler
).
Info
For how to configure CTA to publish metrics, see Enabling Metrics.
Metrics#
Metric Name | Type | Unit | Description | Attributes |
---|---|---|---|---|
db.client.connection.count |
UpDownCounter | 1 | The number of connections that are currently in a state described by the state attribute. |
db.namespace db.system.name state |
db.client.operation.duration |
Histogram | ms | Duration of database client operations. | db.namespace db.system.name |
cta.frontend.request.duration |
Histogram | ms | Duration the frontend takes to process a request. | event.name |
cta.scheduler.operation.duration |
Histogram | ms | Duration of a CTA scheduling operation. | cta.scheduler.operation.name |
cta.objectstore.lock.acquire.duration |
Histogram | ms | Duration taken to acquire an objectstore lock. | lock.type |
cta.taped.mount.duration |
Histogram | ms | Duration to mount a tape. | cta.transfer.direction |
cta.taped.transfer.count |
Counter | 1 | Number of files transferred to/from tape. | cta.transfer.direction |
cta.taped.transfer.io |
Counter | by | Bytes transferred to/from tape. | cta.transfer.direction |
Resource Attributes#
Attribute Name | Description |
---|---|
service.namespace |
Logical namespace of the service emitting the metric. Equivalent to the instance name in CTA. |
service.name |
Name of the service emitting the metric (e.g. cta.taped , cta.frontend ). |
service.version |
Version of the service emitting the metric. |
service.instance.id |
Unique identifier for the specific service instance. Useful when multiple replicas run under the same namespace. |
process.title |
Title of the process within the service. For cta.taped , this means per-drive. |
host.name |
Host on which the service is running. |
cta.scheduler.namespace |
Logical name of the scheduler backend in use (e.g. disk , tape ). |
Metric Attributes#
Attribute Name | Description |
---|---|
db.namespace |
Database namespace (schema or logical grouping). |
db.system.name |
Name of the database system (e.g., postgresql , oracle ). |
cta.scheduler.operation.name |
Name of the CTA scheduling operation (e.g. enqueueArchive , cancelRepack ). |
cta.frontend.requester.name |
Name of the frontend event requester (e.g. user, subsystem, or service calling the API). |
cta.transfer.direction |
Direction of the transfer (archive or retrieve ). |
lock.type |
Type of lock being acquired in the object store or internal resource (e.g., read , write ). |
cta.taped.thread_pool.name |
Name of the thread pool handling taped operations. |
event.name |
Name of the event being tracked (e.g., frontend or scheduler event). |
error.type |
Classification of an error that occurred (e.g., network , timeout , permission_denied ). |
state |
Operational or lifecycle state represented by the metric (e.g., active , queued , failed ). |
le |
Histogram bucket upper bound (“less than or equal” duration in ms). |
Note on Resource vs Metric Attributes#
Resource attributes describe the entity that produced the telemetry (service/process/host). They are not automatically attached to every metric by all backends.
- In Prometheus, resource attributes are exposed as a separate time series named
target_info
(and related info series). They are not labels on each metric by default. - If you need resource attributes as labels on every series, either:
- enable resource -> metric label conversion in your OpenTelemetry Collector pipeline, or
- join metrics with
target_info
in PromQL (e.g.,on(...) group_left(...)
) at query time. - Prometheus label keys are sanitized to be valid identifiers (e.g.,
service.instance.id
->service_instance_id
).