aboutsummaryrefslogtreecommitdiffstats
path: root/library/cpp/lwtrace/mon/mon_lwtrace.h
blob: f6ba43751e2beea97d7cee8533bc7af7915ed0db (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
#pragma once

#include <library/cpp/lwtrace/protos/lwtrace.pb.h>
#include <library/cpp/monlib/service/monservice.h>
#include <library/cpp/lwtrace/control.h>

#include <util/generic/vector.h>

namespace NLwTraceMonPage {

class TDashboardRegistry { 
    THashMap<TString, NLWTrace::TDashboard> Dashboards;
    TMutex Mutex; 
public: 
    void Register(const NLWTrace::TDashboard& dashboard);
    void Register(const TVector<NLWTrace::TDashboard>& dashboards);
    void Register(const TString& dashText); 
    bool Get(const TString& name, NLWTrace::TDashboard& dash);
    void Output(TStringStream& ss); 
}; 
 
void RegisterPages(NMonitoring::TMonService2* mon, bool allowUnsafe = false);
NLWTrace::TProbeRegistry& ProbeRegistry(); // This is not safe to use this function before main()
NLWTrace::TManager& TraceManager(bool allowUnsafe = false);
TDashboardRegistry& DashboardRegistry(); 

} // namespace NLwTraceMonPage