summaryrefslogtreecommitdiff
path: root/src/mongo/db/stats/resource_consumption_metrics.h
diff options
context:
space:
mode:
authorLouis Williams <louis.williams@mongodb.com>2020-09-29 17:45:31 -0400
committerEvergreen Agent <no-reply@evergreen.mongodb.com>2020-10-02 14:39:25 +0000
commitf4fa1dbfc235faac1a8fe5161f5a70a991bdb1ee (patch)
treeea0c3876021e8b21f8fbf5c350c85f2f897205ff /src/mongo/db/stats/resource_consumption_metrics.h
parent478bf480ebfad1ab6fee19cb9a199071115f42c8 (diff)
downloadmongo-f4fa1dbfc235faac1a8fe5161f5a70a991bdb1ee.tar.gz
SERVER-51031 Report operation resource consumption metrics in the profiler and slow query logs
Diffstat (limited to 'src/mongo/db/stats/resource_consumption_metrics.h')
-rw-r--r--src/mongo/db/stats/resource_consumption_metrics.h15
1 files changed, 15 insertions, 0 deletions
diff --git a/src/mongo/db/stats/resource_consumption_metrics.h b/src/mongo/db/stats/resource_consumption_metrics.h
index ef80f306cf7..e9986c05df6 100644
--- a/src/mongo/db/stats/resource_consumption_metrics.h
+++ b/src/mongo/db/stats/resource_consumption_metrics.h
@@ -35,6 +35,7 @@
#include "mongo/bson/bsonobjbuilder.h"
#include "mongo/db/namespace_string.h"
#include "mongo/db/operation_context.h"
+#include "mongo/logv2/attribute_storage.h"
#include "mongo/platform/mutex.h"
namespace mongo {
@@ -57,6 +58,12 @@ public:
keysSorted += other.keysSorted;
}
+ ReadMetrics operator+(const ReadMetrics& other) const {
+ ReadMetrics copy = *this;
+ copy.add(other);
+ return copy;
+ }
+
ReadMetrics& operator+=(const ReadMetrics& other) {
add(other);
return *this;
@@ -107,7 +114,15 @@ public:
// Number of document units returned by a query.
long long docUnitsReturned;
+ /**
+ * Reports all metrics on a BSONObjectBuilder.
+ */
void toBson(BSONObjBuilder* builder) const;
+
+ /**
+ * Reports all non-zero metrics for logging purposes.
+ */
+ void report(logv2::DynamicAttributes* pAttrs) const;
};
/**