code: func (s *Reporter) KeepAlive(ctx context.Context, lease Lease, expires time.Time) error {
  	start := s.Clock().Now()
  	err := s.Backend.KeepAlive(ctx, lease, expires)
  	writeLatencies.WithLabelValues(s.Component).Observe(time.Since(start).Seconds())
  	writeRequests.WithLabelValues(s.Component).Inc()
  	if err != nil && !trace.IsNotFound(err) {
  		writeRequestsFailed.WithLabelValues(s.Component).Inc()
  	}
  	s.trackRequest(OpPut, lease.Key, nil)
  	return err
  }
docs: // KeepAlive keeps object from expiring, updates lease on the existing object,
  // expires contains the new expiry to set on the lease,
  // some backends may ignore expires based on the implementation
  // in case if the lease managed server side