code: func (s *service) updateStats() {
  	if !s.active {
  		return
  	}
  	log.V(1).Infof("%v: updating IPVS statistics for %v", s.vserver, s)
  
  	ncc := s.vserver.ncc
  	if err := ncc.Dial(); err != nil {
  		log.Fatalf("%v: failed to connect to NCC: %v", s.vserver, err)
  	}
  	defer ncc.Close()
  
  	ipvsSvc, err := ncc.IPVSGetService(s.ipvsSvc)
  	if err != nil {
  		log.Warningf("%v: failed to get statistics for %v: %v", s.vserver, s, err)
  		return
  	}
  	s.stats.ServiceStats = ipvsSvc.Statistics
  
  	for _, ipvsDst := range ipvsSvc.Destinations {
  		found := false
  		for _, d := range s.dests {
  			if d.ipvsDst.Address.Equal(ipvsDst.Address) &&
  				d.ipvsDst.Port == ipvsDst.Port {
  				d.stats.DestinationStats = ipvsDst.Statistics
  				found = true
  				break
  			}
  		}
  		if !found {
  			log.Warningf("%v: got statistics for unknown destination %v", s.vserver, ipvsDst)
  		}
  	}
  }
docs: // updateStats updates the IPVS statistics for this service.