remove ceph code
[stor4nfv.git] / src / ceph / src / test / omap_bench.h
diff --git a/src/ceph/src/test/omap_bench.h b/src/ceph/src/test/omap_bench.h
deleted file mode 100644 (file)
index 4563748..0000000
+++ /dev/null
@@ -1,208 +0,0 @@
-/*
- * Generate latency statistics for a configurable number of object map write
- * operations of configurable size.
- *
- *  Created on: May 21, 2012
- *      Author: Eleanor Cawthon
- *
- * This is free software; you can redistribute it and/or
- * modify it under the terms of the GNU Lesser General Public
- * License version 2.1, as published by the Free Software
- * Foundation.  See file COPYING.
- */
-
-#ifndef OMAP_BENCH_HPP_
-#define OMAP_BENCH_HPP_
-
-#include "common/Mutex.h"
-#include "common/Cond.h"
-#include "include/rados/librados.hpp"
-#include <string>
-#include <map>
-#include <cfloat>
-
-using ceph::bufferlist;
-
-struct o_bench_data {
-  double avg_latency;
-  double min_latency;
-  double max_latency;
-  double total_latency;
-  int started_ops;
-  int completed_ops;
-  std::map<int,int> freq_map;
-  pair<int,int> mode;
-  o_bench_data()
-  : avg_latency(0.0), min_latency(DBL_MAX), max_latency(0.0),
-    total_latency(0.0),
-    started_ops(0), completed_ops(0)
-  {}
-};
-
-class OmapBench;
-
-typedef int (*omap_generator_t)(const int omap_entries, const int key_size,
-                               const int value_size,
-                               std::map<std::string,bufferlist> *out_omap);
-typedef int (OmapBench::*test_t)(omap_generator_t omap_gen);
-
-
-class Writer{
-protected:
-  string oid;
-  utime_t begin_time;
-  utime_t end_time;
-  std::map<std::string,bufferlist> omap;
-  OmapBench *ob;
-  friend class OmapBench;
-public:
-  Writer(OmapBench *omap_bench);
-  virtual ~Writer(){};
-  virtual void start_time();
-  virtual void stop_time();
-  virtual double get_time();
-  virtual string get_oid();
-  virtual std::map<std::string,bufferlist> & get_omap();
-};
-
-class AioWriter : public Writer{
-protected:
-  librados::AioCompletion * aioc;
-  friend class OmapBench;
-
-public:
-  AioWriter(OmapBench *omap_bench);
-  ~AioWriter() override;
-  virtual librados::AioCompletion * get_aioc();
-  virtual void set_aioc(librados::callback_t complete,
-      librados::callback_t safe);
-};
-
-class OmapBench{
-protected:
-  librados::IoCtx io_ctx;
-  librados::Rados rados;
-  struct o_bench_data data;
-  test_t test;
-  omap_generator_t omap_generator;
-
-  //aio things
-  Cond thread_is_free;
-  Mutex thread_is_free_lock;
-  Mutex  data_lock;
-  int busythreads_count;
-  librados::callback_t comp;
-  librados::callback_t safe;
-
-  string pool_name;
-  string rados_id;
-  string prefix;
-  int threads;
-  int objects;
-  int entries_per_omap;
-  int key_size;
-  int value_size;
-  double increment;
-
-  friend class Writer;
-  friend class AioWriter;
-
-public:
-  OmapBench()
-    : test(&OmapBench::test_write_objects_in_parallel),
-      omap_generator(generate_uniform_omap),
-      thread_is_free_lock("OmapBench::thread_is_free_lock"),
-      data_lock("OmapBench::data_lock"),
-      busythreads_count(0),
-      comp(NULL), safe(aio_is_safe),
-      pool_name("rbd"),
-      rados_id("admin"),
-      prefix(rados_id+".obj."),
-      threads(3), objects(100), entries_per_omap(10), key_size(10),
-      value_size(100), increment(10)
-  {}
-  /**
-   * Parses command line args, initializes rados and ioctx
-   */
-  int setup(int argc, const char** argv);
-
-  /**
-   * Callback for when an AioCompletion (called from an AioWriter)
-   * is safe. deletes the AioWriter that called it,
-   * Updates data, updates busythreads, and signals thread_is_free.
-   *
-   * @param c provided by aio_write - not used
-   * @param arg the AioWriter that contains this AioCompletion
-   */
-  static void aio_is_safe(rados_completion_t c, void *arg);
-
-  /**
-   * Generates a random string len characters long
-   */
-  static string random_string(int len);
-
-  /*
-   * runs the test specified by test using the omap generator specified by
-   * omap_generator
-   *
-   * @return error code
-   */
-  int run();
-
-  /*
-   * Prints all keys and values for all omap entries for all objects
-   */
-  int print_written_omap();
-
-  /*
-   * Displays relevant constants and the histogram generated through a test
-   */
-  void print_results();
-
-  /**
-   * Writes an object with the specified AioWriter.
-   *
-   * @param aiow the AioWriter to write with
-   * @param omap the omap to write
-   * @post: an asynchronous omap_set is launched
-   */
-  int write_omap_asynchronously(AioWriter *aiow,
-      const std::map<std::string,bufferlist> &map);
-
-
-  /**
-   * Generates an omap with omap_entries entries, each with keys key_size
-   * characters long and with string values value_size characters long.
-   *
-   * @param out_map pointer to the map to be created
-   * @return error code
-   */
-  static int generate_uniform_omap(const int omap_entries, const int key_size,
-      const int value_size, std::map<std::string,bufferlist> * out_omap);
-
-  /**
-   * The same as generate_uniform_omap except that string lengths are picked
-   * randomly between 1 and the int arguments
-   */
-  static int generate_non_uniform_omap(const int omap_entries,
-      const int key_size,
-      const int value_size, std::map<std::string,bufferlist> * out_omap);
-
-  static int generate_small_non_random_omap(const int omap_entries,
-      const int key_size, const int value_size,
-      std::map<std::string,bufferlist> * out_omap);
-
-  /*
-   * Uses aio_write to write omaps generated by omap_gen to OBJECTS objects
-   * using THREADS AioWriters at a time.
-   *
-   * @param omap_gen the method used to generate the omaps.
-   */
-  int test_write_objects_in_parallel(omap_generator_t omap_gen);
-
-};
-
-
-
-#endif /* OMAP_BENCH_HPP_ */
-