From 705f35bfd71671e0168dca78960820cb7b31ec2a Mon Sep 17 00:00:00 2001 From: Louis Williams Date: Tue, 8 Sep 2020 17:43:35 -0400 Subject: SERVER-50702 Create feature flag for measuring operation resource consumption --- src/mongo/db/SConscript | 1 + src/mongo/db/stats/SConscript | 14 +++++++ .../db/stats/operation_resource_consumption.idl | 43 ++++++++++++++++++++++ 3 files changed, 58 insertions(+) create mode 100644 src/mongo/db/stats/operation_resource_consumption.idl diff --git a/src/mongo/db/SConscript b/src/mongo/db/SConscript index 25c4d852403..2d90253f008 100644 --- a/src/mongo/db/SConscript +++ b/src/mongo/db/SConscript @@ -863,6 +863,7 @@ env.Library( '$BUILD_DIR/mongo/db/s/sharding_api_d', '$BUILD_DIR/mongo/db/stats/api_version_metrics', '$BUILD_DIR/mongo/db/stats/counters', + '$BUILD_DIR/mongo/db/stats/resource_consumption_metrics', '$BUILD_DIR/mongo/db/stats/server_read_concern_write_concern_metrics', '$BUILD_DIR/mongo/db/stats/top', '$BUILD_DIR/mongo/db/storage/storage_engine_lock_file', diff --git a/src/mongo/db/stats/SConscript b/src/mongo/db/stats/SConscript index 755414a43bf..15138462b01 100644 --- a/src/mongo/db/stats/SConscript +++ b/src/mongo/db/stats/SConscript @@ -72,6 +72,20 @@ env.Library( ], ) +env.Library( + target='resource_consumption_metrics', + source=[ + env.Idlc('operation_resource_consumption.idl')[0], + ], + LIBDEPS=[ + '$BUILD_DIR/mongo/base', + '$BUILD_DIR/mongo/idl/idl_parser', + ], + LIBDEPS_PRIVATE=[ + '$BUILD_DIR/mongo/idl/server_parameter', + ], +) + env.Library( target="transaction_stats", source=[ diff --git a/src/mongo/db/stats/operation_resource_consumption.idl b/src/mongo/db/stats/operation_resource_consumption.idl new file mode 100644 index 00000000000..62dd1abbf09 --- /dev/null +++ b/src/mongo/db/stats/operation_resource_consumption.idl @@ -0,0 +1,43 @@ +# Copyright (C) 2020-present MongoDB, Inc. +# +# This program is free software: you can redistribute it and/or modify +# it under the terms of the Server Side Public License, version 1, +# as published by MongoDB, Inc. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# Server Side Public License for more details. +# +# You should have received a copy of the Server Side Public License +# along with this program. If not, see +# . +# +# As a special exception, the copyright holders give permission to link the +# code of portions of this program with the OpenSSL library under certain +# conditions as described in each individual source file and distribute +# linked combinations including the program with the OpenSSL library. You +# must comply with the Server Side Public License in all respects for +# all of the code used other than as permitted herein. If you modify file(s) +# with this exception, you may extend this exception to your version of the +# file(s), but you are not obligated to do so. If you do not wish to do so, +# delete this exception statement from your version. If you delete this +# exception statement from all source files in the program, then also delete +# it in the license file. +# + +global: + cpp_namespace: "mongo" + +imports: + - "mongo/idl/basic_types.idl" + +server_parameters: + measureOperationResourceConsumption: + description: "When true, records resource consumption for all operations" + set_at: + - runtime + - startup + cpp_varname: measureOperationResourceConsumption + cpp_vartype: AtomicWord + default: false -- cgit v1.2.1