aboutsummaryrefslogtreecommitdiffstats
path: root/ydb/core/client/server/msgbus_http_server.h
blob: 911978c422e8c7ff024a36aef2c195ef3a4bb87b (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
28
29
30
31
32
33
34
35
36
37
38
39
40
41
#pragma once
#include <ydb/public/lib/base/defs.h>
#include <library/cpp/monlib/service/monservice.h>
#include <library/cpp/monlib/service/pages/mon_page.h>
#include <ydb/core/mon/mon.h>
#include <library/cpp/actors/helpers/mon_histogram_helper.h>
#include <ydb/public/lib/base/msgbus.h>
#include <ydb/core/base/appdata.h>

namespace NKikimr {
namespace NMsgBusProxy {

class IMessageBusHttpServer : public NMonitoring::IMonPage {
public:
    IMessageBusHttpServer(const TString& path, TIntrusivePtr<NMonitoring::TDynamicCounters> counters)
        : NMonitoring::IMonPage(path)
        , Counters(counters)
    {}

    virtual void Shutdown() = 0;

    // counters
    TIntrusivePtr<NMonitoring::TDynamicCounters> Counters;
    TIntrusivePtr<NMonitoring::TDynamicCounters> HttpGroup;
    NMonitoring::TDynamicCounters::TCounterPtr RequestsActive;
    NMonitoring::TDynamicCounters::TCounterPtr RequestsCount;
    NMonitoring::TDynamicCounters::TCounterPtr InboundSize;
    NMonitoring::TDynamicCounters::TCounterPtr OutboundSize;
    NMonitoring::TDynamicCounters::TCounterPtr Status200;
    NMonitoring::TDynamicCounters::TCounterPtr Status400;
    NMonitoring::TDynamicCounters::TCounterPtr Status500;
    NMonitoring::TDynamicCounters::TCounterPtr Status503;
    NMonitoring::TDynamicCounters::TCounterPtr Status504;
    NMon::THistogramCounterHelper RequestTotalTimeHistogram;
    NMon::THistogramCounterHelper RequestPrepareTimeHistogram;
};

IMessageBusHttpServer* CreateMessageBusHttpServer(TActorSystem* actorSystem, NBus::IBusServerHandler* handler, const TProtocol& protocol, const NBus::TBusServerSessionConfig& config);

}
}