def METHOD_NAME(benchmark_spec):
  """Run the Web Search benchmark.
  Args:
    benchmark_spec: The benchmark specification. Contains all data that is
        required to run the benchmark.
  Returns:
    A list of sample.Sample objects.
  """
  clients = benchmark_spec.vm_groups['clients'][0]
  servers = benchmark_spec.vm_groups['servers'][0]
  benchmark_cmd = ('sudo docker run --rm --net host --name client '
                   'cloudsuite/web-search:client %s %d %d %d %d ' %
                   (servers.internal_ip,
                    FLAGS.cloudsuite_web_search_scale,
                    FLAGS.cloudsuite_web_search_ramp_up,
                    FLAGS.cloudsuite_web_search_steady_state,
                    FLAGS.cloudsuite_web_search_ramp_down))
  stdout, _ = clients.RemoteCommand(benchmark_cmd)
  ops_per_sec = re.findall(r'\<metric unit="ops/sec"\>(\d+\.?\d*)', stdout)
  num_ops_per_sec = float(ops_per_sec[0])
  p90 = re.findall(r'\<p90th\>(\d+\.?\d*)', stdout)
  num_p90 = float(p90[0])
  p99 = re.findall(r'\<p99th\>(\d+\.?\d*)', stdout)
  num_p99 = float(p99[0])
  results = []
  results.append(sample.Sample('Operations per second', num_ops_per_sec,
                               'ops/s'))
  results.append(sample.Sample('90th percentile latency', num_p90, 's'))
  results.append(sample.Sample('99th percentile latency', num_p99, 's'))
  return results