[SERVER-38239] Define and Implement getOperationStatistics of storage interface Created: 26/Nov/18  Updated: 29/Oct/23  Resolved: 17/Dec/18

Status: Closed
Project: Core Server
Component/s: None
Affects Version/s: None
Fix Version/s: 4.0.9, 4.1.7

Type: Task Priority: Major - P3
Reporter: Vamsi Boyapati Assignee: Neha Khatri
Resolution: Fixed Votes: 0
Labels: None
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified

Issue Links:
Backports
Depends
is depended on by SERVER-38240 Extend OpDebug object to support stor... Closed
Backwards Compatibility: Fully Compatible
Backport Requested:
v4.0
Sprint: Storage Engines 2018-12-17
Participants:
Story Points: 5

 Description   

To define a storage interface for getOperationStatistics method.
To implement this interface for WiredTiger storage engine.

Suggestion:
------------
1. Storage interface could be RecoveryUnit::getOperationStatistics(bool reset)
2. WiredTiger method could be WiredTigerRecoveryUnit::getOperationStatistics(bool reset).

WiredTiger implementation will open a session statistics cursor, fetches the statistics from WiredTiger session and returns them as a BSON object.

 

Whether this will return the BSON object if any of the statistics is zero ? need to be discussed with NY.



 Comments   
Comment by Githook User [ 03/Apr/19 ]

Author:

{'email': 'sulabh.mahajan@mongodb.com', 'name': 'Sulabh Mahajan', 'username': 'sulabhM'}

Message: SERVER-38239 Added getOperationStatistics() API to fetch storage stats from WiredTiger

(cherry picked from commit ba3894493a94ed3c18458f391ff181d57475f010)

SERVER-38240 Added storage statistics information into the slowop log messages.

(cherry picked from commit 86b6aca9fa1940e85bba87261d1494ef2c208a4a)

SERVER-38240 work around uint64_t conversion on s390x in WiredTigerOperationStats::fetchStats()

(cherry picked from commit 82161eec79fc74652dc07b1c83fe500dc4f95e79)

SERVER-38243 Test presence of the storage stats in slowop logs and system.profile.

(cherry picked from commit 3b4c6a689a3fdaa923d427ae112ea599513ef8ce)

SERVER-39026 Use correct type for retrieving WiredTiger stats

(cherry picked from commit 6a9a5855048df1f4796a4032276d01318c398691)

SERVER-39488 Look for storage stats in the find command's profiled entry.

The find command will always have the storage stats because the
test has created a collection with btree spanning multiple pages. Scanning
this collection after a server restart will trigger read from the disk
and have the disk read stats.

(cherry picked from commit 6125b5fb078a316854f0299b96b7d16eacb944de)

SERVER-39361 Synchronise collecting storage engine stats with shutdown

(cherry picked from commit bacb6b67706a2c057fcd0f76a38f416b225aa69a)

SERVER-39061 Fix the wt_operation_stats test to wait for the operation log to appear.

(cherry picked from commit 371197e4bab715a83272a4472e118ee5c5cbbf7c)

SERVER-39934 Fix locking for slow ops storage stats
SERVER-39654 Make slow ops storage stats work with transactions

(cherry picked from commit 23ca771f76f85638f23bca2a4a6ac196a81fdc21)
Branch: v4.0
https://github.com/mongodb/mongo/commit/57edce7396271531dde4499458b22c9cde1f03d4

Comment by Githook User [ 27/Mar/19 ]

Author:

{'email': 'neha.khatri@mongodb.com', 'name': 'nehakhatri5', 'username': 'nehakhatri5'}

Message: SERVER-38239 Added getOperationStatistics() API to fetch storage stats from WiredTiger

(cherry picked from commit ba3894493a94ed3c18458f391ff181d57475f010)
Branch: slow-ops-backport
https://github.com/mongodb/mongo/commit/097c20d21c6e735f179bd14eb30d963d5f2a7a82

Comment by Githook User [ 17/Dec/18 ]

Author:

{'username': 'nehakhatri5', 'email': 'neha.khatri@mongodb.com', 'name': 'nehakhatri5'}

Message: SERVER-38239 Added getOperationStatistics() API to fetch storage stats from WiredTiger
Branch: master
https://github.com/mongodb/mongo/commit/ba3894493a94ed3c18458f391ff181d57475f010

Comment by Neha Khatri [ 04/Dec/18 ]

I agree milkie. At times it would be useful to know if a particular stat was 0. WiredTiger function would return a BSON object even if the stat was 0.

Comment by Eric Milkie [ 30/Nov/18 ]

Wouldn't it make the code more complicated if the function sometimes didn't return a BSON object? Also, wouldn't the fact that a particular stat was 0 itself be interesting? I would presume a user reading the stats would like to be explicitly told that something was 0.

Generated at Thu Feb 08 04:48:22 UTC 2024 using Jira 9.7.1#970001-sha1:2222b88b221c4928ef0de3161136cc90c8356a66.