Skip to content

Commit 01245d6

Browse files
committed
Add 'physical reads direct' metric
1 parent bfe79f6 commit 01245d6

File tree

10 files changed

+117
-3
lines changed

10 files changed

+117
-3
lines changed

receiver/oracledbreceiver/documentation.md

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -257,6 +257,14 @@ Number of times a current block was requested from the buffer cache.
257257
| ---- | ----------- | ---------- | ----------------------- | --------- |
258258
| {gets} | Sum | Int | Cumulative | true |
259259
260+
### oracledb.physical_reads_direct
261+
262+
Number of reads directly from disk, bypassing the buffer cache
263+
264+
| Unit | Metric Type | Value Type | Aggregation Temporality | Monotonic |
265+
| ---- | ----------- | ---------- | ----------------------- | --------- |
266+
| {reads} | Sum | Int | Cumulative | true |
267+
260268
## Resource Attributes
261269
262270
| Name | Description | Values | Enabled |

receiver/oracledbreceiver/generated_package_test.go

Lines changed: 1 addition & 2 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

receiver/oracledbreceiver/internal/metadata/generated_config.go

Lines changed: 4 additions & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

receiver/oracledbreceiver/internal/metadata/generated_config_test.go

Lines changed: 2 additions & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

receiver/oracledbreceiver/internal/metadata/generated_metrics.go

Lines changed: 64 additions & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

receiver/oracledbreceiver/internal/metadata/generated_metrics_test.go

Lines changed: 17 additions & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

receiver/oracledbreceiver/internal/metadata/testdata/config.yaml

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -35,6 +35,8 @@ all_set:
3535
enabled: true
3636
oracledb.physical_reads:
3737
enabled: true
38+
oracledb.physical_reads_direct:
39+
enabled: true
3840
oracledb.processes.limit:
3941
enabled: true
4042
oracledb.processes.usage:
@@ -94,6 +96,8 @@ none_set:
9496
enabled: false
9597
oracledb.physical_reads:
9698
enabled: false
99+
oracledb.physical_reads_direct:
100+
enabled: false
97101
oracledb.processes.limit:
98102
enabled: false
99103
oracledb.processes.usage:

receiver/oracledbreceiver/metadata.yaml

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -109,6 +109,15 @@ metrics:
109109
value_type: int
110110
input_type: string
111111
unit: "{reads}"
112+
oracledb.physical_reads_direct:
113+
description: Number of reads directly from disk, bypassing the buffer cache
114+
enabled: false
115+
sum:
116+
aggregation_temporality: cumulative
117+
monotonic: true
118+
value_type: int
119+
input_type: string
120+
unit: "{reads}"
112121
oracledb.user_commits:
113122
description: Number of user commits. When a user commits a transaction, the redo
114123
generated that reflects the changes made to database blocks must be written

receiver/oracledbreceiver/scraper.go

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -32,6 +32,7 @@ const (
3232
userCommits = "user commits"
3333
userRollbacks = "user rollbacks"
3434
physicalReads = "physical reads"
35+
physicalReadsDirect = "physical reads direct"
3536
sessionLogicalReads = "session logical reads"
3637
cpuTime = "CPU used by this session"
3738
pgaMemory = "session pga memory"
@@ -106,6 +107,7 @@ func (s *oracleScraper) scrape(ctx context.Context) (pmetric.Metrics, error) {
106107
s.metricsBuilderConfig.Metrics.OracledbUserCommits.Enabled ||
107108
s.metricsBuilderConfig.Metrics.OracledbUserRollbacks.Enabled ||
108109
s.metricsBuilderConfig.Metrics.OracledbPhysicalReads.Enabled ||
110+
s.metricsBuilderConfig.Metrics.OracledbPhysicalReadsDirect.Enabled ||
109111
s.metricsBuilderConfig.Metrics.OracledbLogicalReads.Enabled ||
110112
s.metricsBuilderConfig.Metrics.OracledbCPUTime.Enabled ||
111113
s.metricsBuilderConfig.Metrics.OracledbPgaMemory.Enabled ||
@@ -160,6 +162,11 @@ func (s *oracleScraper) scrape(ctx context.Context) (pmetric.Metrics, error) {
160162
if err != nil {
161163
scrapeErrors = append(scrapeErrors, err)
162164
}
165+
case physicalReadsDirect:
166+
err := s.mb.RecordOracledbPhysicalReadsDirectDataPoint(now, row["VALUE"])
167+
if err != nil {
168+
scrapeErrors = append(scrapeErrors, err)
169+
}
163170
case sessionLogicalReads:
164171
err := s.mb.RecordOracledbLogicalReadsDataPoint(now, row["VALUE"])
165172
if err != nil {

receiver/oracledbreceiver/scraper_test.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -32,7 +32,7 @@ func TestScraper_ErrorOnStart(t *testing.T) {
3232
}
3333

3434
var queryResponses = map[string][]metricRow{
35-
statsSQL: {{"NAME": enqueueDeadlocks, "VALUE": "18"}, {"NAME": exchangeDeadlocks, "VALUE": "88898"}, {"NAME": executeCount, "VALUE": "178878"}, {"NAME": parseCountTotal, "VALUE": "1999"}, {"NAME": parseCountHard, "VALUE": "1"}, {"NAME": userCommits, "VALUE": "187778888"}, {"NAME": userRollbacks, "VALUE": "1898979879789"}, {"NAME": physicalReads, "VALUE": "1887777"}, {"NAME": sessionLogicalReads, "VALUE": "189"}, {"NAME": cpuTime, "VALUE": "1887"}, {"NAME": pgaMemory, "VALUE": "1999887"}, {"NAME": dbBlockGets, "VALUE": "42"}, {"NAME": consistentGets, "VALUE": "78944"}},
35+
statsSQL: {{"NAME": enqueueDeadlocks, "VALUE": "18"}, {"NAME": exchangeDeadlocks, "VALUE": "88898"}, {"NAME": executeCount, "VALUE": "178878"}, {"NAME": parseCountTotal, "VALUE": "1999"}, {"NAME": parseCountHard, "VALUE": "1"}, {"NAME": userCommits, "VALUE": "187778888"}, {"NAME": userRollbacks, "VALUE": "1898979879789"}, {"NAME": physicalReads, "VALUE": "1887777"}, {"NAME": physicalReadsDirect, "VALUE": "31337"}, {"NAME": sessionLogicalReads, "VALUE": "189"}, {"NAME": cpuTime, "VALUE": "1887"}, {"NAME": pgaMemory, "VALUE": "1999887"}, {"NAME": dbBlockGets, "VALUE": "42"}, {"NAME": consistentGets, "VALUE": "78944"}},
3636
sessionCountSQL: {{"VALUE": "1"}},
3737
systemResourceLimitsSQL: {
3838
{"RESOURCE_NAME": "processes", "CURRENT_UTILIZATION": "3", "MAX_UTILIZATION": "10", "INITIAL_ALLOCATION": "100", "LIMIT_VALUE": "100"},

0 commit comments

Comments
 (0)