@@ -441,22 +441,28 @@ guess_sections_by_pefix(StatName, BucketName) ->
441441 " query_" ++ _Rest ->
442442 [" @query" ];
443443 " replication" ++ _Rest ->
444- [" @xdcr-" ++ BucketName ];
444+ [" @xdcr-" ++ BucketName || BucketName =/= undefined ];
445445 " views" ++ _Rest ->
446- [BucketName ];
446+ [BucketName || BucketName =/= undefined ];
447447 " spatial" ++ _Rest ->
448- [BucketName ];
448+ [BucketName || BucketName =/= undefined ];
449449 " vb_" ++ _Rest ->
450- [BucketName ];
450+ [BucketName || BucketName =/= undefined ];
451451 " ep_" ++ _Rest ->
452- [BucketName ];
452+ [BucketName || BucketName =/= undefined ];
453453 Other ->
454- case lists :takewhile (fun ($/ ) -> false ; (_ ) -> true end , Other ) of
455- Other ->
456- [];
457- Prefix ->
458- [" @" ++ Prefix ,
459- " @" ++ Prefix ++ " -" ++ BucketName ]
454+ case string :split (Other , " /" ) of
455+ [Prefix , _ ] ->
456+ case lists :member (Prefix , services_sections (undefined )) of
457+ true ->
458+ [" @" ++ Prefix ] ++
459+ [" @" ++ Prefix ++ " -" ++ BucketName ||
460+ BucketName =/= undefined ];
461+ false ->
462+ []
463+ end ;
464+ _ ->
465+ []
460466 end
461467 end .
462468
@@ -467,8 +473,12 @@ guess_sections_by_pefix(StatName, BucketName) ->
467473% %
468474get_stats_search_order (StatName , BucketName ) ->
469475 GuessedSections = guess_sections_by_pefix (StatName , BucketName ),
470- AllSections = [" @system" , BucketName , " @xdcr-" ++ BucketName ] ++
471- services_sections (BucketName ),
476+ AllSections = [" @system" | case BucketName of
477+ undefined ->
478+ [];
479+ _ ->
480+ [BucketName , " @xdcr-" ++ BucketName ]
481+ end ++ services_sections (BucketName )],
472482 GuessedSections ++ (AllSections -- GuessedSections ).
473483
474484build_response_for_specific_stat (BucketName , StatName , Params , LocalAddr ) ->
@@ -550,15 +560,17 @@ do_merge_all_samples_normally(ETS, MainSamples, ListOfLists) ->
550560 end , ListOfLists ),
551561 [hd (ets :lookup (ETS , T )) || # stat_entry {timestamp = T } <- MainSamples ].
552562
553- services_sections (BucketName ) ->
563+ services_sections (undefined ) ->
554564 [" @query" ,
555565 " @index" ,
556566 " @fts" ,
557567 " @cbas" ,
558- " @eventing" ,
559- " @index-" ++ BucketName ,
560- " @fts-" ++ BucketName ,
561- " @cbas-" ++ BucketName ].
568+ " @eventing" ];
569+ services_sections (BucketName ) ->
570+ services_sections (undefined ) ++
571+ [" @index-" ++ BucketName ,
572+ " @fts-" ++ BucketName ,
573+ " @cbas-" ++ BucketName ].
562574
563575describe_section (" @query" ) ->
564576 {n1ql , undefined };
@@ -2908,8 +2920,7 @@ fix_response({Stats, Nodes}, _) ->
29082920
29092921ui_stats_v2_validators (Req ) ->
29102922 Now = os :system_time (millisecond ),
2911- [validator :required (bucket , _ ),
2912- validate_bucket (bucket , _ ),
2923+ [validate_bucket (bucket , _ ),
29132924 validator :required (statName , _ ),
29142925 validator :integer (startTS , ? MIN_TS , ? MAX_TS , _ ),
29152926 validator :integer (endTS , ? MIN_TS , ? MAX_TS , _ ),
@@ -2981,10 +2992,10 @@ output_ui_stats_v2(Req, #params{bucket = Bucket, stat = Stat, step = Step},
29812992 {Host , {[{samples , Samples }, {timestamps , Timestamps }]}}
29822993 end , lists :zip (Stats , Nodes )),
29832994 menelaus_util :reply_json (
2984- Req , {[{bucket , list_to_binary (Bucket )},
2985- {statName , list_to_binary (Stat )},
2995+ Req , {[{statName , list_to_binary (Stat )},
29862996 {step , Step },
29872997 {stats , {StatsJson }}] ++
2998+ [{bucket , list_to_binary (Bucket )} || Bucket =/= undefined ] ++
29882999 [{aggregatedNodes ,
29893000 [list_to_binary (
29903001 menelaus_web_node :build_node_hostname (ns_config :latest (),
0 commit comments