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

Create ShardingDataTransformMetrics TimeObserver Stub Class

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

      Simple example of what it could look like

      ObservedClass {
      
          TimeObserver getTimeObserver() {
              return TimeObserver{[&] { return getTimeRunning(); }, [&] { return getTimeRemaining(); }};
          }
      
          Duration getTimeRunning();
          Duration getTimeRemaining();
      }
      
      TimeObserver {
      public:
          using DurationFunction = std::function<Duration()>;
      
          TimeObserver(DurationFunction timeRunning, DurationFunction timeRemaining);
      
          Duration getTimeRunning() {
              return _timeRunning();
          }
      
          Duration getTimeRemaining() {
              return _timeRemaining();
          }
      
      private:
          DurationFunction _timeRunning;
          DurationFunction _timeRemaining;
      }
      

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

              Created:
              Updated:
              Resolved: