Uploaded image for project: 'Core Server'
  1. Core Server
  2. SERVER-63152

Create ShardingDataTransformMetrics CumulativeMetrics Stub Class

    • Fully Compatible
    • Sharding 2022-02-21
    • 2

      Simple example of what the class could look like

      class CumulativeMetrics {
      
      	std::atomic<counter> _cumulativeAggregatedValue;
      	std::mutex _lock;
      	std::list<SharedMetricsPtr> _instanceMetrics;
      	
      	SharedMetricsPtr createRegisteredSharedMetrics() {
      		auto result = std::make_shared<SharedMetrics>();
      		std::unique_lock guard(_lock);
      		_instanceMetrics.push_back(result);
      		return result;
      	}
      	
      	void deregisterSharedMetrics(SharedMetricsPtr metrics) {
      		std::unique_lock guard(_lock);
      		_instanceMetrics.remove(metrics);
      	}
      }
      

      This class will utilized the SharedMetrics class to manage the cross-instance metrics. It will be utilized by the external-facing CollectionDataCopyTransformedMetrics metrics class.

            Assignee:
            brett.nawrocki@mongodb.com Brett Nawrocki
            Reporter:
            luis.osta@mongodb.com Luis Osta (Inactive)
            Votes:
            0 Vote for this issue
            Watchers:
            4 Start watching this issue

              Created:
              Updated:
              Resolved: