3535import org .graylog .plugins .usagestatistics .dto .NodeStats ;
3636import org .graylog .plugins .usagestatistics .dto .Os ;
3737import org .graylog .plugins .usagestatistics .dto .PluginInfo ;
38+ import org .graylog .plugins .usagestatistics .dto .SearchStats ;
3839import org .graylog .plugins .usagestatistics .dto .SessionStats ;
3940import org .graylog .plugins .usagestatistics .dto .ThroughputStats ;
4041import org .graylog .plugins .usagestatistics .util .MetricUtils ;
42+ import org .graylog2 .indexer .elasticsearch .GlobalTimeoutClient ;
4143import org .graylog2 .inputs .Input ;
4244import org .graylog2 .inputs .InputService ;
4345import org .graylog2 .plugin .PluginMetaData ;
4648import org .graylog2 .plugin .cluster .ClusterConfigService ;
4749import org .graylog2 .plugin .cluster .ClusterId ;
4850import org .graylog2 .plugin .system .NodeId ;
51+ import org .graylog2 .rest .resources .search .AbsoluteSearchResource ;
52+ import org .graylog2 .rest .resources .search .KeywordSearchResource ;
53+ import org .graylog2 .rest .resources .search .RelativeSearchResource ;
54+ import org .graylog2 .rest .resources .search .SearchResource ;
4955import org .graylog2 .rest .resources .system .SessionsResource ;
5056import org .graylog2 .security .realm .SessionAuthenticator ;
5157import org .graylog2 .shared .system .stats .StatsService ;
6571import static com .google .common .base .Strings .isNullOrEmpty ;
6672import static org .graylog .plugins .usagestatistics .util .MetricUtils .safeGetCounter ;
6773import static org .graylog .plugins .usagestatistics .util .MetricUtils .safeGetMeter ;
74+ import static org .graylog .plugins .usagestatistics .util .MetricUtils .safeGetTimer ;
6875
6976@ Singleton
7077public class NodeCollector {
@@ -278,6 +285,14 @@ private NodeStats buildNodeStats() {
278285 safeGetMeter (metricRegistry , name (SessionsResource .class , "terminateSession" )).getCount ()
279286 );
280287
288+ final SearchStats searchStats = SearchStats .create (
289+ safeGetCounter (metricRegistry , name (SearchResource .class , "empty-search-results" )).getCount (),
290+ safeGetTimer (metricRegistry , name (AbsoluteSearchResource .class , "searchAbsolute" )).getCount (),
291+ safeGetTimer (metricRegistry , name (KeywordSearchResource .class , "searchKeyword" )).getCount (),
292+ safeGetTimer (metricRegistry , name (RelativeSearchResource .class , "searchRelative" )).getCount (),
293+ safeGetCounter (metricRegistry , name (GlobalTimeoutClient .class , "search-requests" )).getCount ()
294+ );
295+
281296 return NodeStats .create (
282297 uptime ,
283298 inputService .totalCountForNode (nodeId .toString ()),
@@ -286,6 +301,7 @@ private NodeStats buildNodeStats() {
286301 journalStats ,
287302 searchTimings ,
288303 searchRanges ,
304+ searchStats ,
289305 sessionStats
290306 );
291307 }
0 commit comments