summaryrefslogtreecommitdiff
path: root/src/third_party/wiredtiger
diff options
context:
space:
mode:
authorLuke Chen <luke.chen@mongodb.com>2022-11-08 12:50:16 +1100
committerEvergreen Agent <no-reply@evergreen.mongodb.com>2022-11-08 02:19:21 +0000
commitabfd2d992e2e75b196940e80225cb930c1b69b8a (patch)
treea1015dacdb0a2bd7c0b0ef08bcd8ae56e7066a53 /src/third_party/wiredtiger
parent1cc112b1b4ebbacdae1278dc7a7741c2aa75e947 (diff)
downloadmongo-abfd2d992e2e75b196940e80225cb930c1b69b8a.tar.gz
Import wiredtiger: c1801c6d1b32cc26318c1ec51030fdd8cbb95b49 from branch mongodb-master
ref: c1dd33282c..c1801c6d1b for: 6.2.0-rc0 WT-9969 Add MongoDB oplog simulation performance workload to automated testing (#8366)
Diffstat (limited to 'src/third_party/wiredtiger')
-rw-r--r--src/third_party/wiredtiger/bench/perf_run_py/perf_stat.py12
-rw-r--r--src/third_party/wiredtiger/bench/perf_run_py/perf_stat_collection.py6
-rw-r--r--src/third_party/wiredtiger/import.data2
-rwxr-xr-xsrc/third_party/wiredtiger/test/evergreen.yml68
4 files changed, 85 insertions, 3 deletions
diff --git a/src/third_party/wiredtiger/bench/perf_run_py/perf_stat.py b/src/third_party/wiredtiger/bench/perf_run_py/perf_stat.py
index b608c041c8b..43e715ab1d4 100644
--- a/src/third_party/wiredtiger/bench/perf_run_py/perf_stat.py
+++ b/src/third_party/wiredtiger/bench/perf_run_py/perf_stat.py
@@ -29,6 +29,7 @@
# OTHER DEALINGS IN THE SOFTWARE.
import glob
import json
+import os
import re
from typing import List
@@ -169,3 +170,14 @@ class PerfStatLatencyWorkgen(PerfStat):
'values': sorted(self.values)
})
return as_list
+
+
+class PerfStatDBSize(PerfStat):
+ def find_stat(self, test_stat_path: str):
+ home_path = os.path.dirname(test_stat_path)
+ total_size = 0
+
+ for ele in os.scandir(home_path):
+ total_size += os.path.getsize(ele)
+
+ return [total_size]
diff --git a/src/third_party/wiredtiger/bench/perf_run_py/perf_stat_collection.py b/src/third_party/wiredtiger/bench/perf_run_py/perf_stat_collection.py
index 2211fa861b5..c7a280d9b1e 100644
--- a/src/third_party/wiredtiger/bench/perf_run_py/perf_stat_collection.py
+++ b/src/third_party/wiredtiger/bench/perf_run_py/perf_stat_collection.py
@@ -29,7 +29,7 @@
# OTHER DEALINGS IN THE SOFTWARE.
import os
-from perf_stat import PerfStat, PerfStatCount, PerfStatLatency, PerfStatMinMax, PerfStatLatencyWorkgen
+from perf_stat import PerfStat, PerfStatCount, PerfStatLatency, PerfStatMinMax, PerfStatLatencyWorkgen, PerfStatDBSize
from typing import List
@@ -169,5 +169,7 @@ class PerfStatCollection:
stat_file='../stdout_file.txt',
pattern=r'max latency exceeded.*update',
output_label='Latency update(in micro sec) Max',
- input_offset=11)
+ input_offset=11),
+ PerfStatDBSize(short_label="database_size",
+ output_label='Database Size (in bytes)')
]
diff --git a/src/third_party/wiredtiger/import.data b/src/third_party/wiredtiger/import.data
index 8e767510843..dfdf44a1f0d 100644
--- a/src/third_party/wiredtiger/import.data
+++ b/src/third_party/wiredtiger/import.data
@@ -2,5 +2,5 @@
"vendor": "wiredtiger",
"github": "wiredtiger/wiredtiger.git",
"branch": "mongodb-master",
- "commit": "c1dd33282c358e1638f127b5bdd68b34d1ebf764"
+ "commit": "c1801c6d1b32cc26318c1ec51030fdd8cbb95b49"
}
diff --git a/src/third_party/wiredtiger/test/evergreen.yml b/src/third_party/wiredtiger/test/evergreen.yml
index c8e63d821ed..43133eee48a 100755
--- a/src/third_party/wiredtiger/test/evergreen.yml
+++ b/src/third_party/wiredtiger/test/evergreen.yml
@@ -3515,6 +3515,70 @@ tasks:
vars:
perf-test-name: modify-force-update-large-record-btree.wtperf
+ ###############################
+ # Performance Tests for oplog #
+ ###############################
+
+ - name: perf-test-mongodb-oplog
+ tags: ["oplog-perf"]
+ depends_on:
+ - name: compile
+ commands:
+ - func: "fetch artifacts"
+ - func: "run-perf-test"
+ vars:
+ perf-test-name: mongodb-oplog.wtperf
+ maxruns: 1
+ wtarg: -ops ['"load", "insert", "truncate", "database_size"']
+ - func: "upload-perf-test-stats"
+ vars:
+ perf-test-name: mongodb-oplog.wtperf
+
+ - name: perf-test-mongodb-small-oplog
+ tags: ["oplog-perf"]
+ depends_on:
+ - name: compile
+ commands:
+ - func: "fetch artifacts"
+ - func: "run-perf-test"
+ vars:
+ perf-test-name: mongodb-small-oplog.wtperf
+ maxruns: 1
+ wtarg: -ops ['"load", "insert", "truncate", "database_size"']
+ - func: "upload-perf-test-stats"
+ vars:
+ perf-test-name: mongodb-small-oplog.wtperf
+
+ - name: perf-test-mongodb-large-oplog
+ tags: ["oplog-perf"]
+ depends_on:
+ - name: compile
+ commands:
+ - func: "fetch artifacts"
+ - func: "run-perf-test"
+ vars:
+ perf-test-name: mongodb-large-oplog.wtperf
+ maxruns: 1
+ wtarg: -ops ['"load", "insert", "truncate", "database_size"']
+ - func: "upload-perf-test-stats"
+ vars:
+ perf-test-name: mongodb-large-oplog.wtperf
+
+ - name: perf-test-mongodb-secondary-apply
+ tags: ["oplog-perf"]
+ depends_on:
+ - name: compile
+ commands:
+ - func: "fetch artifacts"
+ - func: "run-perf-test"
+ vars:
+ perf-test-name: mongodb-secondary-apply.wtperf
+ maxruns: 1
+ wtarg: -ops ['"insert"']
+ - func: "upload-perf-test-stats"
+ vars:
+ perf-test-name: mongodb-secondary-apply.wtperf
+
#########################################
# Performance Tests for perf-checkpoint #
#########################################
@@ -4388,6 +4452,7 @@ buildvariants:
- name: ".evict-perf"
- name: ".log-perf"
- name: ".long-perf"
+ - name: ".oplog-perf"
- name: many-dhandle-stress
- name: ".wt2853-perf"
- name: cppsuite-bounded-cursor-perf-stress
@@ -4414,6 +4479,9 @@ buildvariants:
- name: Wiredtiger-perf-long-jobs
execution_tasks:
- ".long-perf"
+ - name: Wiredtiger-perf-oplog-jobs
+ execution_tasks:
+ - ".oplog-perf"
- name: WiredTiger-wt2853-perf
execution_tasks:
- ".wt2853-perf"