Oracledb Receiver
contrib
Maintainers: @dmitryax, @crobert-1, @atoulme
Source: opentelemetry-collector-contrib
Supported Telemetry
Overview
Getting Started
To use the Oracle DB receiver you must define how to connect to your DB. This can be done in two ways, defined in the Primary and Secondary configuration option sections. Defining one of the two configurations is required. If both are defined, the primary option will be used.Primary Configuration Option
Required options:datasource: Oracle database connection string. Special characters must be encoded. Refer to Oracle Go Driver go_ora documentation for full connection string options.
Secondary Configuration Option
Required options:endpoint: Endpoint used to connect to the Oracle DB server. Must be in the format ofhost:portpassword: Password for the Oracle DB connection. Special characters are allowed.service: Oracle DB service that the receiver should connect to.username: Username for the Oracle DB connection.
Optional Configuration Options
collection_interval(default =10s): The interval at which metrics should be emitted by this receiver.initial_delay(default =1s): The initial time period this receiver waits before starting.timeout(default =0): Timeout for each Oracle DB request. Disabled by default.
Permissions
Instance detection
These grants are required to populate theoracle.db.version, oracle.db.role,
oracle.db.open_mode, and oracle.db.pdb resource attributes.
Detection is best-effort; failures are logged at warn level and the receiver continues.
Note:sys_context('USERENV', ...)queries againstDUALrequire no additional grant and are available to all database users.
Hosting type detection (Oracle >=19c only)
These grants are required to populate theoracle.db.hosting_type resource attribute.
Only applies to Oracle 19c and later. Detection is best-effort; failures are logged at
warn level and the receiver continues.
Metrics collection
Depending on which metrics you collect, you will need to assign these permissions to the database user:Events collection
These grants are required for thedb.server.query_sample, db.server.top_query,
and db.server.session.wait_sample events.
[!NOTE] In the SQL query plan details, the LAST_*, OUTPUT_ROWS, and STARTS columns are populated only when Oracle is configured to collect execution plan statistics (for example, STATISTICS_LEVEL=ALL or the GATHER_PLAN_STATISTICS hint). Otherwise, these fields will be NULL or empty. Configuring this Oracle instrumentation may introduce additional runtime overhead. Enable it only if you need these runtime execution statistics for query performance analysis.
Enabling metrics.
See documentation. You can enable or disable selective metrics. Example:Enabling events.
The following is a generic configuration that can be used for the default logs and metrics scraped by the Oracle DB receiver.SQL Comment Extraction
When thedb.server.query_sample and/or db.server.top_query events are enabled, the receiver can
extract key-value pairs from leading SQL block comments (/* key=value */) and emit them as the
db.query.comment_tags attribute on the corresponding logs.
This behavior is controlled by the allowed_comment_keys option, which can be set independently
under top_query_collection and query_sample_collection:
allowed_comment_keys(default =[]): A list of comment keys to extract. For each enabled collection, only keys present in this allowlist are extracted from the leading SQL comment and included (as comma-separatedkey=valuepairs) in thedb.query.comment_tagsattribute.
- When
allowed_comment_keysis empty or unset, no comments are extracted. - Only keys included in the allowlist are emitted; all other comment keys are ignored.
- Only leading block comments are parsed; comments elsewhere in the query are ignored.
/* application=exampleApp,team=payments */ SELECT * FROM users, the emitted
log record will include db.query.comment_tags set to application=exampleApp,team=payments. When multiple
keys are extracted, they are emitted as a comma-separated list of key=value pairs.
See documentation for details on the db.query.comment_tags attribute.
Metrics
| Metric Name | Description | Unit | Type | Attributes |
|---|---|---|---|---|
❌ oracledb.buffer.inspected | Number of buffers inspected from the end of the LRU queue while a process searched for a reusable buffer, grouped by buffer state. | {buffer} | Counter | oracledb.buffer.state |
❌ oracledb.buffer.requests | Number of times a reusable or free buffer was requested to create or load a block. | {request} | Counter | |
❌ oracledb.buffer_cache.block.changes | Number of changes that were part of an update or delete operation made to blocks in the buffer cache. | {change} | Counter | |
❌ oracledb.buffer_cache.block.gets | Number of current-mode block gets satisfied from the buffer cache. Distinct from oracledb.db_block_gets, which counts all current-mode block gets requested regardless of where they are satisfied. | {get} | Counter | |
❌ oracledb.buffer_cache.utilization | Fraction of logical reads served from the buffer cache without physical I/O, as computed by Oracle V$SYSMETRIC (% (LogRead - PhyRead)/LogRead). | % | Gauge | |
❌ oracledb.call.count | Total count of calls issued to the database. | {call} | Counter | oracledb.call.type |
❌ oracledb.call.recursive.cpu.time | Total CPU time spent on recursive (internal) calls. | s | Counter | |
❌ oracledb.checkpoint.buffers | Number of buffers written by the Database Writer (DBWR) for checkpoints. | {buffer} | Counter | |
❌ oracledb.checkpoint.completed | Number of checkpoints completed by the Database Writer (DBWR). | {checkpoint} | Counter | |
❌ oracledb.consistent_gets | Number of times a consistent read was requested for a block from the buffer cache. | {gets} | Counter | |
✅ oracledb.cpu_time | Cumulative CPU time, in seconds | s | Counter | |
❌ oracledb.cursor.cache.hits | Total count of session cursor cache hits, where an existing cached cursor is reused to avoid a soft parse. | {hit} | Counter | |
❌ oracledb.cursor.cache.size | Number of cursors currently held in the session cursor cache. | {cursor} | Gauge | |
❌ oracledb.cursor.open | Number of currently open cursors in the Oracle instance. | {cursor} | Gauge | |
❌ oracledb.data_dictionary.hit_ratio | Data dictionary cache hit ratio from v$rowcache. | % | Gauge | |
❌ oracledb.database.cpu.utilization | Fraction of total database time spent on CPU, as computed by Oracle V$SYSMETRIC (% Cpu/DB_Time). | % | Gauge | |
❌ oracledb.database.wait.utilization | Fraction of total database time spent waiting on I/O, locks, or latches, as computed by Oracle V$SYSMETRIC (% Wait/DB_Time). | % | Gauge | |
❌ oracledb.db.time | Total wall-clock time spent in database calls. | s | Counter | oracledb.session.type |
❌ oracledb.db_block_gets | Number of times a current block was requested from the buffer cache. | {gets} | Counter | |
❌ oracledb.ddl_statements_parallelized | Number of DDL statements that were executed in parallel | {statements} | Counter | |
✅ oracledb.dml_locks.limit | Maximum limit of active DML (Data Manipulation Language) locks, -1 if unlimited. | {locks} | Gauge | |
✅ oracledb.dml_locks.usage | Current count of active DML (Data Manipulation Language) locks. | {locks} | Gauge | |
❌ oracledb.dml_statements_parallelized | Number of DML statements that were executed in parallel | {statements} | Counter | |
❌ oracledb.enqueue.operations | Total count of enqueue (lock) operations. | {operation} | Counter | oracledb.enqueue.type |
✅ oracledb.enqueue_deadlocks | Total number of deadlocks between table or row locks in different sessions. | {deadlocks} | Counter | |
✅ oracledb.enqueue_locks.limit | Maximum limit of active enqueue locks, -1 if unlimited. | {locks} | Gauge | |
✅ oracledb.enqueue_locks.usage | Current count of active enqueue locks. | {locks} | Gauge | |
✅ oracledb.enqueue_resources.limit | Maximum limit of active enqueue resources, -1 if unlimited. | {resources} | Gauge | |
✅ oracledb.enqueue_resources.usage | Current count of active enqueue resources. | {resources} | Gauge | |
✅ oracledb.exchange_deadlocks | Number of times that a process detected a potential deadlock when exchanging two buffers and raised an internal, restartable error. Index scans are the only operations that perform exchanges. | {deadlocks} | Counter | |
❌ oracledb.execution.utilization | Fraction of executions that did not require a parse, as computed by Oracle V$SYSMETRIC (% (ExecWOParse/TotalExec)). High values indicate good cursor reuse. | % | Gauge | oracledb.parse.type |
✅ oracledb.executions | Total number of calls (user and recursive) that executed SQL statements | {executions} | Counter | |
✅ oracledb.hard_parses | Number of hard parses | {parses} | Counter | |
❌ oracledb.host.cpu.utilization | Fraction of host CPU time in use, as computed by Oracle V$SYSMETRIC (% Busy/(Idle+Busy)). | % | Gauge | |
❌ oracledb.library_cache.utilization | Fraction of library cache pin requests that found the object already cached, as computed by Oracle V$SYSMETRIC (% Hits/Pins). | % | Gauge | |
❌ oracledb.lob.operations | Total count of LOB (large object) I/O operations. | {operation} | Counter | disk.io.direction |
✅ oracledb.logical_reads | Number of logical reads | {reads} | Counter | |
❌ oracledb.logons | Number of logon operations | {operation} | Counter | |
❌ oracledb.parallel_operations_downgraded_1_to_25_pct | Number of times parallel execution was requested and the degree of parallelism was reduced down to 1-25% because of insufficient parallel execution servers | {executions} | Counter | |
❌ oracledb.parallel_operations_downgraded_25_to_50_pct | Number of times parallel execution was requested and the degree of parallelism was reduced down to 25-50% because of insufficient parallel execution servers | {executions} | Counter | |
❌ oracledb.parallel_operations_downgraded_50_to_75_pct | Number of times parallel execution was requested and the degree of parallelism was reduced down to 50-75% because of insufficient parallel execution servers | {executions} | Counter | |
❌ oracledb.parallel_operations_downgraded_75_to_99_pct | Number of times parallel execution was requested and the degree of parallelism was reduced down to 75-99% because of insufficient parallel execution servers | {executions} | Counter | |
❌ oracledb.parallel_operations_downgraded_to_serial | Number of times parallel execution was requested but execution was serial because of insufficient parallel execution servers | {executions} | Counter | |
❌ oracledb.parallel_operations_not_downgraded | Number of times parallel execution was executed at the requested degree of parallelism | {executions} | Counter | |
❌ oracledb.parse.cpu.time | Total CPU time spent on SQL parsing. | s | Counter | |
❌ oracledb.parse.elapsed.time | Total wall-clock time spent on SQL parsing. | s | Counter | |
❌ oracledb.parse.rate | Rate of parse operations per second broken down by result, as computed by Oracle V$SYSMETRIC (e.g., Parse Failure Count Per Sec). | {parses}/s | Gauge | oracledb.parse.result |
❌ oracledb.parse.utilization | Fraction of parse calls that were soft parses, as computed by Oracle V$SYSMETRIC (% SoftParses/TotalParses). High values indicate good cursor reuse. | % | Gauge | |
✅ oracledb.parse_calls | Total number of parse calls. | {parses} | Counter | |
✅ oracledb.pga_memory | Session PGA (Program Global Area) memory | By | Counter | |
❌ oracledb.physical_io.cache_writes | Number of physical writes from the buffer cache to disk by DBWR. Sourced from v$sysstat name physical writes from cache. | {writes} | Counter | |
❌ oracledb.physical_io.requests | Number of physical I/O requests issued to storage. Sourced from v$sysstat names physical read/write total IO requests (disk.io.block_size=all) and physical read/write total multi block requests (disk.io.block_size=multi). | {requests} | Counter | disk.io.direction, disk.io.block_size |
❌ oracledb.physical_io.transferred | Total physical I/O bytes transferred between Oracle and storage. Sums across all data files. Sourced from v$sysstat names physical read/write bytes (disk.io.type=buffered) and physical read/write total bytes (disk.io.type=total). | By | Counter | disk.io.direction, disk.io.type |
❌ oracledb.physical_read_io_requests | Number of read requests for application activity | {requests} | Counter | |
✅ oracledb.physical_reads | Number of physical reads | {reads} | Counter | |
❌ oracledb.physical_reads_direct | Number of reads directly from disk, bypassing the buffer cache | {reads} | Counter | |
❌ oracledb.physical_write_io_requests | Number of write requests for application activity | {requests} | Counter | |
❌ oracledb.physical_writes | Number of physical writes | {writes} | Counter | |
❌ oracledb.physical_writes_direct | Number of writes directly to disk, bypassing the buffer cache | {writes} | Counter | |
✅ oracledb.processes.limit | Maximum limit of active processes, -1 if unlimited. | {processes} | Gauge | |
✅ oracledb.processes.usage | Current count of active processes. | {processes} | Gauge | |
❌ oracledb.queries_parallelized | Number of SELECT statements executed in parallel | {queries} | Counter | |
❌ oracledb.recycle_bin.limit | Total size of the recycle bin. | By | Gauge | |
❌ oracledb.redo.blocks | Number of redo blocks moved between the redo log and storage. | {block} | Counter | disk.io.direction |
❌ oracledb.redo.operations | Number of redo I/O operations. | {operation} | Counter | disk.io.direction |
❌ oracledb.redo.requests | Number of times a process requested space in the redo log buffer and had to wait. | {request} | Counter | oracledb.redo.request.type |
❌ oracledb.redo.retries | Number of times a process waited and retried to allocate space in the redo buffer. | {retry} | Counter | oracledb.redo.retry.type |
❌ oracledb.redo.size | Amount of redo generated. | By | Counter | |
❌ oracledb.redo.time | Time spent in each phase of the redo pipeline. | s | Counter | oracledb.redo.type |
❌ oracledb.redo_allocation.utilization | Fraction of redo allocations that succeeded without space contention, as computed by Oracle V$SYSMETRIC (% (#Redo - RedoSpaceReq)/#Redo). | % | Gauge | |
❌ oracledb.scan.count | Total count of scan operations. | {operation} | Counter | oracledb.scan.type, oracledb.scan.mode |
❌ oracledb.scan.table.rows | Total number of rows returned by full-table scans. | {row} | Counter | |
✅ oracledb.sessions.limit | Maximum limit of active sessions, -1 if unlimited. | {sessions} | Gauge | |
✅ oracledb.sessions.usage | Count of active sessions. | {sessions} | Gauge | session_type, session_status |
❌ oracledb.shared_pool.utilization | Fraction of the shared pool that is currently free, as computed by Oracle V$SYSMETRIC (% Free/Total). Low values indicate shared pool pressure. | % | Gauge | |
❌ oracledb.sort.operations | Total count of sort operations. | {operation} | Counter | oracledb.sort.type |
❌ oracledb.sort.ratio | Fraction of sorts performed in memory vs disk, as computed by Oracle V$SYSMETRIC (% MemSort/(MemSort + DiskSort)). Low values indicate PGA memory pressure. | 1 | Gauge | oracledb.sort.type |
❌ oracledb.sort.rows | Total number of rows sorted across all sort operations. | {row} | Counter | |
❌ oracledb.sql_service.response.duration | Average SQL service response time in seconds, converted from centiseconds as reported by Oracle V$SYSMETRIC (CentiSeconds Per Call). | s | Gauge | |
❌ oracledb.sqlnet.io.transferred | Bytes transferred via SQLNet between Oracle and clients/dblinks. Sourced from v$sysstat names bytes received/sent via SQLNet from/to client/dblink. | By | Counter | network.io.direction, destination.type |
❌ oracledb.storage.usage | Used database storage size from dba_data_files and dba_free_space. | By | Gauge | |
❌ oracledb.storage.utilization | Fraction of allocated database storage that is used. | 1 | Gauge | |
✅ oracledb.tablespace_size.limit | Maximum size of tablespace in bytes, -1 if unlimited. | By | Gauge | tablespace_name |
✅ oracledb.tablespace_size.usage | Used tablespace in bytes. | By | Gauge | tablespace_name |
✅ oracledb.transactions.limit | Maximum limit of active transactions, -1 if unlimited. | {transactions} | Gauge | |
✅ oracledb.transactions.usage | Current count of active transactions. | {transactions} | Gauge | |
✅ oracledb.user_commits | Number of user commits. When a user commits a transaction, the redo generated that reflects the changes made to database blocks must be written to disk. Commits often represent the closest thing to a user transaction rate. | {commits} | Counter | |
✅ oracledb.user_rollbacks | Number of times users manually issue the ROLLBACK statement or an error occurs during a user’s transactions | 1 | Counter |
Attributes
| Attribute Name | Description | Type | Values |
|---|---|---|---|
client.address | Hostname or address of the client. | string | |
client.port | TCP port used by the client. | int | |
db.namespace | The database name. | string | |
db.query.comment_tags | Filtered SQL query comments extracted from leading block comments. Contains comma-separated key=value pairs for keys specified in allowed_comment_keys configuration. Used for correlation with APM traces. | string | |
db.query.text | The text of the database query being executed. | string | |
db.server.name | The name of the server hosting the database. | string | |
db.system.name | The database management system (DBMS) product as identified by the client instrumentation. | string | |
destination.type | Type of the SQL*Net destination endpoint (client application or remote database link). | string | client, dblink |
disk.io.block_size | Multi-block vs single-block (all) I/O request grouping. | string | all, multi |
disk.io.direction | Direction of the storage I/O operation. | string | read, write |
disk.io.type | Whether the I/O bytes are buffered (cache-mediated) or total (raw transfer count). | string | buffered, total |
network.io.direction | Direction of the SQL*Net network transfer. | string | receive, transmit |
network.peer.address | IP address of the peer client. | string | |
network.peer.port | TCP port used by the peer client. | int | |
oracle.db.service | The Oracle service name associated with the database connection. | string | |
oracledb.application_wait_time | The total time (in seconds) a query spent waiting on the application before it could proceed with execution (reporting delta). | double | |
oracledb.blocking.blocker.root_sid | The session ID (SID) of the root/head blocker at the top of the blocking chain. Empty string when there is no blocking. | string | |
oracledb.blocking.blocker.sid | The session ID (SID) of the immediate blocker of this session. Empty string when the session is not blocked. | string | |
oracledb.blocking.blocker.state | The status of the blocking session relationship (e.g. VALID, NOT IN WAIT, GLOBAL, NO HOLDER, UNKNOWN). | string | |
oracledb.blocking.lock.mode | The lock mode being requested by the blocked session (e.g., ROW SHARE, ROW EXCLUSIVE, SHARE, SHARE ROW EXCLUSIVE, EXCLUSIVE). Empty when not waiting on a lock. | string | |
oracledb.blocking.lock.type | The type of enqueue lock the session is waiting on, extracted from the wait event (e.g., TX for row lock, TM for table lock). Empty when not waiting on a lock. | string | |
oracledb.blocking.object.name | The name of the database object the session is waiting to lock. Empty when no object lock wait is active. | string | |
oracledb.blocking.object.owner | The owner (schema) of the database object the session is waiting to lock. Empty when no object lock wait is active. | string | |
oracledb.blocking.start_time | Estimated UTC timestamp of when the blocking wait began, derived from SYSDATE - SECONDS_IN_WAIT. RFC3339 format. | string | |
oracledb.blocking.wait_duration | The number of seconds this session has been waiting for the current wait event. | int | |
oracledb.buffer.state | The state of a buffer encountered while inspecting the LRU queue for a reusable buffer (free = a reusable buffer that was skipped; dirty = a dirty buffer found). | string | free, dirty |
oracledb.buffer_gets | Number of logical reads (i.e., buffer cache accesses) performed by a query (reporting delta). | int | |
oracledb.call.type | Type of call reported by Oracle. | string | recursive, user |
oracledb.child_address | Address of the child cursor. | string | |
oracledb.child_number | The child number of the query. | string | |
oracledb.cluster_wait_time | Total time (in seconds) that a query waited due to Oracle Real Application Clusters (RAC) coordination (reporting delta). | double | |
oracledb.command_type | Command type of the query. | int | |
oracledb.concurrency_wait_time | Total time (in seconds) a query spent waiting on concurrency-related events (reporting delta). | double | |
oracledb.cpu_time | Total time (in seconds) that the CPU spent actively processing a query, excluding time spent waiting (reporting delta). | double | |
oracledb.direct_reads | The number of direct path reads performed by a query — i.e., data blocks read directly from disk into the session’s memory (reporting delta). | int | |
oracledb.direct_writes | The number of direct path write operations, where data is written directly to disk from user memory (reporting delta). | int | |
oracledb.disk_reads | The number of physical reads a query performs — that is, the number of data blocks read from disk (reporting delta). | int | |
oracledb.duration_sec | Total time taken by a database query to execute. | double | |
oracledb.elapsed_time | The total time (in seconds) taken by a query from start to finish, including CPU time and all types of waits (reporting delta). | double | |
oracledb.enqueue.type | Type of enqueue (lock) operation reported by Oracle. | string | conversions, releases, requests, timeouts, waits |
oracledb.event | The specific wait event that a query or session is currently experiencing. | string | |
oracledb.executions | The number of times a specific SQL query has been executed (reporting delta). | int | |
oracledb.module | Logical module name of the client application that initiated a query or session. | string | |
oracledb.osuser | Name of the operating system user that initiated or is running the Oracle database session. | string | |
oracledb.parse.result | Result of a parse operation (e.g., failure). | string | failure |
oracledb.parse.type | Type of parse operation (e.g., soft). | string | soft |
oracledb.physical_read_bytes | The total number of bytes read from disk by a query (reporting delta). | int | |
oracledb.physical_read_requests | The number of physical I/O read operations performed by a query (reporting delta). | int | |
oracledb.physical_write_bytes | The total number of bytes written to disk by a query (reporting delta). | int | |
oracledb.physical_write_requests | The number of times a query requested to write data to disk (reporting delta). | int | |
oracledb.plan.first_load | Time at which the plan was first loaded into the library cache, in the server’s local timezone. Format: YYYY-MM-DD/HH:MM:SS | string | |
oracledb.plan.last_load | Plan load time in the server’s local timezone. Format: YYYY-MM-DD/HH:MM:SS | string | |
oracledb.plan_hash_value | Binary hash value calculated on the query execution plan and used to identify similar query execution plans, reported in the HEX format. | string | |
oracledb.procedure_execution_count | The number of times the stored procedure has been executed, derived from the minimum statement execution count across all statements in the procedure (reporting delta). Please note, this is best effort and may not be accurate in some scenarios. Use with caution. | int | |
oracledb.procedure_id | The identifier of the stored procedure or function being executed by the query. | int | |
oracledb.procedure_name | Name of the database object that a query is accessing. | string | |
oracledb.procedure_type | Type of the database object that a query is accessing. | string | |
oracledb.process | The operating system process ID (PID) associated with a session. | string | |
oracledb.program | Name of the client program or tool that initiated the Oracle database session. | string | |
oracledb.query.started | The timestamp when the SQL statement started execution, in ISO 8601 format (UTC). | string | |
oracledb.query.wait_time | The wait time in seconds. If the session is currently waiting, the value is the time spent waiting in the current wait. Returns 0 if the session is not currently waiting. | double | |
oracledb.query_plan | The query execution plan used by the SQL Server. | string | |
oracledb.redo.request.type | The type of redo log buffer space request. | string | log_space |
oracledb.redo.retry.type | The type of redo buffer allocation retry. | string | buffer_allocation |
oracledb.redo.type | The phase of the redo pipeline that a redo time measurement is attributed to. | string | write, log_space_wait, sync |
oracledb.rows_processed | The total number of rows that a query has read, returned, or affected during its execution (reporting delta). | int | |
oracledb.scan.mode | Execution mode of the scan reported by Oracle. | string | direct_read, full, long_tables, rowid_ranges |
oracledb.scan.type | Type of scan operation reported by Oracle. | string | index_fast_full, table |
oracledb.schemaname | Oracle schema under which SQL statements are being executed | string | |
oracledb.serial | Serial number associated with a session. | string | |
oracledb.session.duration | The total time in seconds that the session has been connected. | double | |
oracledb.session.started | The timestamp when the session logged on, in ISO 8601 format (UTC). | string | |
oracledb.session.type | Class of session the database time is attributed to. | string | foreground |
oracledb.sid | ID of the Oracle Server session. | string | |
oracledb.sort.type | Type of sort operation (e.g., memory, disk). | string | disk, memory |
oracledb.sql_id | The SQL ID of the query. | string | |
oracledb.state | Current state of the query or the session executing it. | string | |
oracledb.status | Execution state or result of a database query or session. | string | |
oracledb.user_io_wait_time | The total time (in seconds) a query spent waiting for user I/O operations—such as reading or writing data to disk or network file systems (reporting delta). | double | |
oracledb.wait.count | Total number of waits for the wait event across all sessions. | int | |
oracledb.wait.duration | Total time waited in seconds for the wait event. | double | |
oracledb.wait_class | The category of wait events a query or session is currently experiencing in Oracle Database. | string | |
session_status | Session status | string | |
session_type | Session type | string | |
tablespace_name | Tablespace name | string | |
user.name | Database user name under which a session is connected to | string |
Resource Attributes
| Attribute Name | Description | Type | Enabled |
|---|---|---|---|
host.name | The host name of Oracle Server | string | ✅ |
oracle.db.hosting_type | The hosting environment of the Oracle instance. One of “self-managed”, “rds”, or “oci”. | string | ✅ |
oracle.db.open_mode | The open mode of the Oracle database (e.g. “READ WRITE”, “READ ONLY”, “MOUNTED”). | string | ✅ |
oracle.db.pdb | The pluggable database (PDB) name associated with the connection. | string | ✅ |
oracle.db.role | The database role of the Oracle instance (e.g. “PRIMARY”, “PHYSICAL STANDBY”). | string | ✅ |
oracle.db.version | The Oracle Database version string. | string | ✅ |
oracledb.instance.name | The name of the instance that data is coming from. | string | ✅ |
service.instance.id | A unique identifier of the Oracle DB instance in the format host:port/serviceName. (defaults to ‘unknown:1521’, in case of error in generating this value) | string | ✅ |
service.name | Logical name of the service. When enabled, defaults to unknown_service:oracle. | string | ❌ |
service.namespace | Logical namespace for the service (for example team or environment). When enabled, defaults to an empty string until set via configuration. | string | ❌ |
Configuration
Example Configuration
Last generated: 2026-07-06