@@ -120,14 +120,39 @@ namespace arangodb {
120120
121121static uint64_t const _maxIoThreads = 64 ;
122122
123+ struct RequestBodySizeScale {
124+ static log_scale_t <uint64_t > scale () { return { 2 , 64 , 65536 , 10 }; }
125+ };
126+
127+ DECLARE_HISTOGRAM (arangodb_request_body_size_http1, RequestBodySizeScale,
128+ " Body size of HTTP/1.1 requests" );
129+ DECLARE_HISTOGRAM (arangodb_request_body_size_http2, RequestBodySizeScale,
130+ " Body size of HTTP/2 requests" );
131+ DECLARE_HISTOGRAM (arangodb_request_body_size_vst, RequestBodySizeScale,
132+ " Body size of VST requests" );
133+ DECLARE_COUNTER (arangodb_http2_connections_total,
134+ " Total number of HTTP/2 connections" );
135+ DECLARE_COUNTER (arangodb_vst_connections_total,
136+ " Total number of VST connections" );
137+
123138GeneralServerFeature::GeneralServerFeature (application_features::ApplicationServer& server)
124139 : ApplicationFeature(server, " GeneralServer" ),
125140 _allowMethodOverride (false ),
126141 _proxyCheck(true ),
127142<
65CE
/code> _permanentRootRedirect(true ),
128143 _redirectRootTo(" /_admin/aardvark/index.html" ),
129144 _supportInfoApiPolicy(" hardened" ),
130- _numIoThreads(0 ) {
145+ _numIoThreads(0 ),
146+ _requestBodySizeHttp1(
147+ server.getFeature<MetricsFeature>().add(arangodb_request_body_size_http1{})),
148+ _requestBodySizeHttp2(
149+ server.getFeature<MetricsFeature>().add(arangodb_request_body_size_http2{})),
150+ _requestBodySizeVst(
151+ server.getFeature<MetricsFeature>().add(arangodb_request_body_size_vst{})),
152+ _http2Connections(
153+ server.getFeature<MetricsFeature>().add(arangodb_http2_connections_total{})),
154+ _vstConnections(
155+ server.getFeature<MetricsFeature>().add(arangodb_vst_connections_total{})) {
131156 setOptional (true );
132157 startsAfter<application_features::AqlFeaturePhase>();
133158
0 commit comments