@@ -1020,6 +1020,60 @@ func (client *NginxClient) GetStats() (*Stats, error) {
10201020 }, nil
10211021}
10221022
1023+ // GetSubStats gets a subset of GetStats() stats from the NGINX Plus API.
1024+ func (client * NginxClient ) GetSubStats () (* Stats , error ) {
1025+ info , err := client .getNginxInfo ()
1026+ if err != nil {
1027+ return nil , fmt .Errorf ("failed to get stats: %v" , err )
1028+ }
1029+
1030+ processes , err := client .getProcesses ()
1031+ if err != nil {
1032+ return nil , fmt .Errorf ("failed to get stats: %v" , err )
1033+ }
1034+
1035+ slabs , err := client .getSlabs ()
1036+ if err != nil {
1037+ return nil , fmt .Errorf ("failed to get stats: %v" , err )
1038+ }
1039+
1040+ cons , err := client .getConnections ()
1041+ if err != nil {
1042+ return nil , fmt .Errorf ("failed to get stats: %v" , err )
1043+ }
1044+
1045+ requests , err := client .getHTTPRequests ()
1046+ if err != nil {
1047+ return nil , fmt .Errorf ("Failed to get stats: %v" , err )
1048+ }
1049+
1050+ ssl , err := client .getSSL ()
1051+ if err != nil {
1052+ return nil , fmt .Errorf ("failed to get stats: %v" , err )
1053+ }
1054+
1055+ zones , err := client .getServerZones ()
1056+ if err != nil {
1057+ return nil , fmt .Errorf ("failed to get stats: %v" , err )
1058+ }
1059+
1060+ upstreams , err := client .getUpstreams ()
1061+ if err != nil {
1062+ return nil , fmt .Errorf ("failed to get stats: %v" , err )
1063+ }
1064+
1065+ return & Stats {
1066+ NginxInfo : * info ,
1067+ Processes : * processes ,
1068+ Slabs : * slabs ,
1069+ Connections : * cons ,
1070+ HTTPRequests : * requests ,
1071+ SSL : * ssl ,
1072+ ServerZones : * zones ,
1073+ Upstreams : * upstreams ,
1074+ }, nil
1075+ }
1076+
10231077func (client * NginxClient ) getNginxInfo () (* NginxInfo , error ) {
10241078 var info NginxInfo
10251079 err := client .get ("nginx" , & info )
0 commit comments