#pragma once

#include <util/generic/map.h>
#include <util/generic/singleton.h>
#include <library/cpp/deprecated/atomic/atomic.h>

#include <wmconsole/version3/wmcutil/monitor_client.h>

namespace NWebmaster {

struct TMonitor : public TMonitorBase {
    TMonitor();

    void Upload() override;

    static TMonitor *Instance() {
        return Singleton<TMonitor>();
    }

public:
//    TSensorData HistoryReportSuccess;
};

void MonitorBeautyUrlsSourceLag(const TString &suffix, double sourceLag);
void MonitorGeoRegionsSourceLag(const TString &suffix, double sourceLag);
void MonitorImportantUrlsSourceLag(const TString &suffix, double sourceLag);
void MonitorSitetreesSourceLag(const TString &suffix, double sourceLag);
void MonitorVerifiedUsersSourceLag(const TString &suffix, double sourceLag);

} //namespace NWebmaster
