diff options
author | Louis Williams <louis.williams@mongodb.com> | 2020-09-29 17:45:31 -0400 |
---|---|---|
committer | Evergreen Agent <no-reply@evergreen.mongodb.com> | 2020-10-02 14:39:25 +0000 |
commit | f4fa1dbfc235faac1a8fe5161f5a70a991bdb1ee (patch) | |
tree | ea0c3876021e8b21f8fbf5c350c85f2f897205ff /src/mongo/db/stats/resource_consumption_metrics.h | |
parent | 478bf480ebfad1ab6fee19cb9a199071115f42c8 (diff) | |
download | mongo-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.h | 15 |
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; }; /** |