Component(s)
receiver/oracledb
Is your feature request related to a problem? Please describe.
The Oracle DB receiver currently exposes raw tablespace byte counts via oracledb.tablespace_size.usage and oracledb.tablespace_size.limit, but these are insufficient for real-world tablespace health monitoring:
- No utilization ratio: Users must divide usage/limit themselves in every alerting rule. A direct fraction (0–1) is needed to set a single threshold like "alert when > 85% full".
- No status visibility: An offline or read-only tablespace causes immediate application errors (
ORA-00376), but the current receiver gives no signal when this happens. The database itself stays up and healthy - it's invisible without querying DBA_TABLESPACES.STATUS.
- Autoextend ceiling not tracked: DBAs commonly enable autoextend thinking the tablespace will "grow as needed", but autoextend has a
MAXBYTES ceiling. Once hit, Oracle throws ORA-01653 just as if autoextend were off. A tablespace at 60% of its current allocation can already be at 99% of its autoextend maximum - which the current metrics cannot reveal.
These gaps mean users cannot answer the three most critical tablespace questions:
- Will this tablespace cause an outage, and how soon?
- Is anything already offline or broken right now?
- What is the true hard limit before Oracle stops extending?
Describe the solution you'd like
Add 3 new opt-in metrics (disabled by default, stability: development), following OTel semantic conventions:
oracledb.tablespace.utilization
- Type: gauge double
- Unit:
"1" (dimensionless fraction)
- Source:
DBA_TABLESPACE_USAGE_METRICS
- Description: Fraction of tablespace currently in use, expressed as a value between 0 and 1.
Computed as USED_SPACE / TABLESPACE_SIZE in-process — no extra query needed.
oracledb.tablespace.count
- Type: gauge int
- Unit:
"{tablespace}"
- Source:
DBA_TABLESPACES
- Description: Number of tablespaces broken down by the
oracledb.tablespace.status attribute.
Status values reflect Oracle's reported state: online, offline, read only.
Useful for alerting when any tablespace goes offline (count{status="offline"} > 0).
oracledb.tablespace.limit
- Type: gauge int
- Unit:
By
- Source:
DBA_DATA_FILES
- Description: Autoextend maximum size in bytes per tablespace, aggregated across all datafiles.
Returns 0 for temporary tablespaces and tablespaces without autoextend enabled.
This is the hard ceiling Oracle will not grow beyond, regardless of current allocation.
Describe alternatives you've considered
No response
Additional context
Tablespace exhaustion (ORA-01653) and offline tablespaces (ORA-00376) are among the top causes of Oracle production outages. These three metrics together provide the minimal signal set needed to alert on both before users are impacted.
A PR with the implementation is in the works and will be submitted for review once this issue is agreed upon.
Tip
React with 👍 to help prioritize this issue. Please use comments to provide useful context, avoiding +1 or me too, to help us triage it. Learn more here.
Component(s)
receiver/oracledb
Is your feature request related to a problem? Please describe.
The Oracle DB receiver currently exposes raw tablespace byte counts via
oracledb.tablespace_size.usageandoracledb.tablespace_size.limit, but these are insufficient for real-world tablespace health monitoring:ORA-00376), but the current receiver gives no signal when this happens. The database itself stays up and healthy - it's invisible without queryingDBA_TABLESPACES.STATUS.MAXBYTESceiling. Once hit, Oracle throwsORA-01653just as if autoextend were off. A tablespace at 60% of its current allocation can already be at 99% of its autoextend maximum - which the current metrics cannot reveal.These gaps mean users cannot answer the three most critical tablespace questions:
Describe the solution you'd like
Add 3 new opt-in metrics (disabled by default,
stability: development), following OTel semantic conventions:oracledb.tablespace.utilization
"1"(dimensionless fraction)DBA_TABLESPACE_USAGE_METRICSComputed as
USED_SPACE / TABLESPACE_SIZEin-process — no extra query needed.oracledb.tablespace.count
"{tablespace}"DBA_TABLESPACESoracledb.tablespace.statusattribute.Status values reflect Oracle's reported state:
online,offline,read only.Useful for alerting when any tablespace goes offline (
count{status="offline"} > 0).oracledb.tablespace.limit
ByDBA_DATA_FILESReturns 0 for temporary tablespaces and tablespaces without autoextend enabled.
This is the hard ceiling Oracle will not grow beyond, regardless of current allocation.
Describe alternatives you've considered
No response
Additional context
Tablespace exhaustion (
ORA-01653) and offline tablespaces (ORA-00376) are among the top causes of Oracle production outages. These three metrics together provide the minimal signal set needed to alert on both before users are impacted.A PR with the implementation is in the works and will be submitted for review once this issue is agreed upon.
Tip
React with 👍 to help prioritize this issue. Please use comments to provide useful context, avoiding
+1orme too, to help us triage it. Learn more here.