code: func (h *Health) ServiceChecks(args *structs.ServiceSpecificRequest,
  	reply *structs.IndexedHealthChecks) error {
  	// Reject if tag filtering is on
  	if args.TagFilter {
  		return fmt.Errorf("Tag filtering is not supported")
  	}
  
  	// Potentially forward
  	if done, err := h.srv.forward("Health.ServiceChecks", args, args, reply); done {
  		return err
  	}
  
  	filter, err := bexpr.CreateFilter(args.Filter, nil, reply.HealthChecks)
  	if err != nil {
  		return err
  	}
  
  	return h.srv.blockingQuery(
  		&args.QueryOptions,
  		&reply.QueryMeta,
  		func(ws memdb.WatchSet, state *state.Store) error {
  			var index uint64
  			var checks structs.HealthChecks
  			var err error
  			if len(args.NodeMetaFilters) > 0 {
  				index, checks, err = state.ServiceChecksByNodeMeta(ws, args.ServiceName, args.NodeMetaFilters)
  			} else {
  				index, checks, err = state.ServiceChecks(ws, args.ServiceName)
  			}
  			if err != nil {
  				return err
  			}
  			reply.Index, reply.HealthChecks = index, checks
  			if err := h.srv.filterACL(args.Token, reply); err != nil {
  				return err
  			}
  
  			raw, err := filter.Execute(reply.HealthChecks)
  			if err != nil {
  				return err
  			}
  			reply.HealthChecks = raw.(structs.HealthChecks)
  
  			return h.srv.sortNodesByDistanceFrom(args.Source, reply.HealthChecks)
  		})
  }
docs: // ServiceChecks is used to get all the checks for a service