summaryrefslogtreecommitdiffstats
path: root/include/framework/Configuration.h
diff options
context:
space:
mode:
authorDouglas Rumbaugh <dbr4@psu.edu>2023-09-13 16:22:03 -0400
committerDouglas Rumbaugh <dbr4@psu.edu>2023-09-13 16:22:03 -0400
commiteb8dbaa770a57557d67c817c2839c64f536a6ce4 (patch)
tree77bbbb79fb70f79965e7f6fd75bb5f4799a6f120 /include/framework/Configuration.h
parent076e104b8672924c3d80cd1da2fdb5ebee1766ac (diff)
downloaddynamic-extension-eb8dbaa770a57557d67c817c2839c64f536a6ce4.tar.gz
Began re-architecting the project for concurrency support
The project is now in a state where it builds, but it probably has a lot of bugs still.
Diffstat (limited to 'include/framework/Configuration.h')
-rw-r--r--include/framework/Configuration.h54
1 files changed, 54 insertions, 0 deletions
diff --git a/include/framework/Configuration.h b/include/framework/Configuration.h
new file mode 100644
index 0000000..eb9b93f
--- /dev/null
+++ b/include/framework/Configuration.h
@@ -0,0 +1,54 @@
+/*
+ * include/framework/DynamicExtension.h
+ *
+ * Copyright (C) 2023 Douglas Rumbaugh <drumbaugh@psu.edu>
+ * Dong Xie <dongx@psu.edu>
+ *
+ * All rights reserved. Published under the Modified BSD License.
+ *
+ */
+#pragma once
+
+#include <atomic>
+#include <numeric>
+#include <cstdio>
+#include <vector>
+
+#include "psu-util/timer.h"
+#include "psu-ds/Alias.h"
+
+namespace de {
+
+thread_local size_t sampling_attempts = 0;
+thread_local size_t sampling_rejections = 0;
+thread_local size_t deletion_rejections = 0;
+thread_local size_t bounds_rejections = 0;
+thread_local size_t tombstone_rejections = 0;
+thread_local size_t buffer_rejections = 0;
+
+/*
+ * thread_local size_t various_sampling_times go here.
+ */
+thread_local size_t sample_range_time = 0;
+thread_local size_t alias_time = 0;
+thread_local size_t alias_query_time = 0;
+thread_local size_t rejection_check_time = 0;
+thread_local size_t buffer_sample_time = 0;
+thread_local size_t memlevel_sample_time = 0;
+thread_local size_t disklevel_sample_time = 0;
+thread_local size_t sampling_bailouts = 0;
+
+
+enum class LayoutPolicy {
+ LEVELING,
+ TEIRING
+};
+
+enum class DeletePolicy {
+ TOMBSTONE,
+ TAGGING
+};
+
+typedef ssize_t level_index;
+
+}