aboutsummaryrefslogtreecommitdiffstats
path: root/library/cpp/lwtrace/mon/mon_lwtrace.h
blob: f196adeabd9ec8c35c58f6cb2e22d445e5401cc2 (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::TIndexMonPage* index, 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