Please note that active projects have migrated to https://github.com/fawkesrobotics.

metrics: remove generated interface code
authorTim Niemueller <niemueller@kbsg.rwth-aachen.de>
Tue, 29 May 2018 15:54:47 +0000 (17:54 +0200)
committerTim Niemueller <niemueller@kbsg.rwth-aachen.de>
Tue, 29 May 2018 18:31:56 +0000 (20:31 +0200)
15 files changed:
src/plugins/metrics/interfaces/MetricCounterInterface.cpp [deleted file]
src/plugins/metrics/interfaces/MetricCounterInterface.h_ext [deleted file]
src/plugins/metrics/interfaces/MetricCounterInterface.tolua [deleted file]
src/plugins/metrics/interfaces/MetricFamilyInterface.cpp [deleted file]
src/plugins/metrics/interfaces/MetricFamilyInterface.h_ext [deleted file]
src/plugins/metrics/interfaces/MetricFamilyInterface.tolua [deleted file]
src/plugins/metrics/interfaces/MetricGaugeInterface.cpp [deleted file]
src/plugins/metrics/interfaces/MetricGaugeInterface.h_ext [deleted file]
src/plugins/metrics/interfaces/MetricGaugeInterface.tolua [deleted file]
src/plugins/metrics/interfaces/MetricHistogramInterface.cpp [deleted file]
src/plugins/metrics/interfaces/MetricHistogramInterface.h_ext [deleted file]
src/plugins/metrics/interfaces/MetricHistogramInterface.tolua [deleted file]
src/plugins/metrics/interfaces/MetricUntypedInterface.cpp [deleted file]
src/plugins/metrics/interfaces/MetricUntypedInterface.h_ext [deleted file]
src/plugins/metrics/interfaces/MetricUntypedInterface.tolua [deleted file]

diff --git a/src/plugins/metrics/interfaces/MetricCounterInterface.cpp b/src/plugins/metrics/interfaces/MetricCounterInterface.cpp
deleted file mode 100644 (file)
index a4d0e8c..0000000
+++ /dev/null
@@ -1,187 +0,0 @@
-
-/***************************************************************************
- *  MetricCounterInterface.cpp - Fawkes BlackBoard Interface - MetricCounterInterface
- *
- *  Templated created:   Thu Oct 12 10:49:19 2006
- *  Copyright  2017  Tim Niemueller
- *
- ****************************************************************************/
-
-/*  This program is free software; you can redistribute it and/or modify
- *  it under the terms of the GNU General Public License as published by
- *  the Free Software Foundation; either version 2 of the License, or
- *  (at your option) any later version. A runtime exception applies to
- *  this software (see LICENSE.GPL_WRE file mentioned below for details).
- *
- *  This program is distributed in the hope that it will be useful,
- *  but WITHOUT ANY WARRANTY; without even the implied warranty of
- *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
- *  GNU Library General Public License for more details.
- *
- *  Read the full text in the LICENSE.GPL_WRE file in the doc directory.
- */
-
-#include <interfaces/MetricCounterInterface.h>
-
-#include <core/exceptions/software.h>
-
-#include <map>
-#include <string>
-#include <cstring>
-#include <cstdlib>
-
-namespace fawkes {
-
-/** @class MetricCounterInterface <interfaces/MetricCounterInterface.h>
- * MetricCounterInterface Fawkes BlackBoard Interface.
- * 
-                 A counter is a cumulative metric that represents a single
-                 numerical value that only ever goes up. A counter is typically
-                 used to count requests served, tasks completed, errors occurred,
-                 etc. Counters should not be used to expose current counts of
-                 items whose number can also go down, e.g. the number of
-                 currently running threads. Use gauges for this use case.
-    
- * @ingroup FawkesInterfaces
- */
-
-
-
-/** Constructor */
-MetricCounterInterface::MetricCounterInterface() : Interface()
-{
-  data_size = sizeof(MetricCounterInterface_data_t);
-  data_ptr  = malloc(data_size);
-  data      = (MetricCounterInterface_data_t *)data_ptr;
-  data_ts   = (interface_data_ts_t *)data_ptr;
-  memset(data_ptr, 0, data_size);
-  add_fieldinfo(IFT_STRING, "labels", 512, data->labels);
-  add_fieldinfo(IFT_DOUBLE, "value", 1, &data->value);
-  unsigned char tmp_hash[] = {0x93, 0x41, 0x78, 0x90, 0x9b, 0x8a, 0x36, 0x51, 0x69, 0xb6, 0x77, 0xf8, 0x2c, 0xd3, 0x4, 0x5d};
-  set_hash(tmp_hash);
-}
-
-/** Destructor */
-MetricCounterInterface::~MetricCounterInterface()
-{
-  free(data_ptr);
-}
-/* Methods */
-/** Get labels value.
- * 
-                 Labels must be given as key-value pairs of the form
-                 "key=value[,key=value...]".
-         
- * @return labels value
- */
-char *
-MetricCounterInterface::labels() const
-{
-  return data->labels;
-}
-
-/** Get maximum length of labels value.
- * @return length of labels value, can be length of the array or number of 
- * maximum number of characters for a string
- */
-size_t
-MetricCounterInterface::maxlenof_labels() const
-{
-  return 512;
-}
-
-/** Set labels value.
- * 
-                 Labels must be given as key-value pairs of the form
-                 "key=value[,key=value...]".
-         
- * @param new_labels new labels value
- */
-void
-MetricCounterInterface::set_labels(const char * new_labels)
-{
-  strncpy(data->labels, new_labels, sizeof(data->labels));
-  data_changed = true;
-}
-
-/** Get value value.
- * 
-           The counter value.
-    
- * @return value value
- */
-double
-MetricCounterInterface::value() const
-{
-  return data->value;
-}
-
-/** Get maximum length of value value.
- * @return length of value value, can be length of the array or number of 
- * maximum number of characters for a string
- */
-size_t
-MetricCounterInterface::maxlenof_value() const
-{
-  return 1;
-}
-
-/** Set value value.
- * 
-           The counter value.
-    
- * @param new_value new value value
- */
-void
-MetricCounterInterface::set_value(const double new_value)
-{
-  data->value = new_value;
-  data_changed = true;
-}
-
-/* =========== message create =========== */
-Message *
-MetricCounterInterface::create_message(const char *type) const
-{
-  throw UnknownTypeException("The given type '%s' does not match any known "
-                             "message type for this interface type.", type);
-}
-
-
-/** Copy values from other interface.
- * @param other other interface to copy values from
- */
-void
-MetricCounterInterface::copy_values(const Interface *other)
-{
-  const MetricCounterInterface *oi = dynamic_cast<const MetricCounterInterface *>(other);
-  if (oi == NULL) {
-    throw TypeMismatchException("Can only copy values from interface of same type (%s vs. %s)",
-                                type(), other->type());
-  }
-  memcpy(data, oi->data, sizeof(MetricCounterInterface_data_t));
-}
-
-const char *
-MetricCounterInterface::enum_tostring(const char *enumtype, int val) const
-{
-  throw UnknownTypeException("Unknown enum type %s", enumtype);
-}
-
-/* =========== messages =========== */
-/** Check if message is valid and can be enqueued.
- * @param message Message to check
- * @return true if the message is valid, false otherwise.
- */
-bool
-MetricCounterInterface::message_valid(const Message *message) const
-{
-  return false;
-}
-
-/// @cond INTERNALS
-EXPORT_INTERFACE(MetricCounterInterface)
-/// @endcond
-
-
-} // end namespace fawkes
diff --git a/src/plugins/metrics/interfaces/MetricCounterInterface.h_ext b/src/plugins/metrics/interfaces/MetricCounterInterface.h_ext
deleted file mode 100644 (file)
index 54864ca..0000000
+++ /dev/null
@@ -1,81 +0,0 @@
-
-/***************************************************************************
- *  MetricCounterInterface.h - Fawkes BlackBoard Interface - MetricCounterInterface
- *
- *  Templated created:   Thu Oct 12 10:49:19 2006
- *  Copyright  2017  Tim Niemueller
- *
- ****************************************************************************/
-
-/*  This program is free software; you can redistribute it and/or modify
- *  it under the terms of the GNU General Public License as published by
- *  the Free Software Foundation; either version 2 of the License, or
- *  (at your option) any later version. A runtime exception applies to
- *  this software (see LICENSE.GPL_WRE file mentioned below for details).
- *
- *  This program is distributed in the hope that it will be useful,
- *  but WITHOUT ANY WARRANTY; without even the implied warranty of
- *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
- *  GNU Library General Public License for more details.
- *
- *  Read the full text in the LICENSE.GPL_WRE file in the doc directory.
- */
-
-#ifndef __INTERFACES_METRICCOUNTERINTERFACE_H_
-#define __INTERFACES_METRICCOUNTERINTERFACE_H_
-
-#include <interface/interface.h>
-#include <interface/message.h>
-#include <interface/field_iterator.h>
-
-namespace fawkes {
-
-class MetricCounterInterface : public Interface
-{
- /// @cond INTERNALS
- INTERFACE_MGMT_FRIENDS(MetricCounterInterface)
- /// @endcond
- public:
-  /* constants */
-
- private:
-  /** Internal data storage, do NOT modify! */
-  typedef struct __attribute__((packed)) {
-    int64_t timestamp_sec;  /**< Interface Unix timestamp, seconds */
-    int64_t timestamp_usec; /**< Interface Unix timestamp, micro-seconds */
-    char labels[512]; /**< 
-                 Labels must be given as key-value pairs of the form
-                 "key=value[,key=value...]".
-          */
-    double value; /**< 
-           The counter value.
-     */
-  } MetricCounterInterface_data_t;
-
-  MetricCounterInterface_data_t *data;
-
- public:
-  /* messages */
-  virtual bool message_valid(const Message *message) const;
- private:
-  MetricCounterInterface();
-  ~MetricCounterInterface();
-
- public:
-  /* Methods */
-  char * labels() const;
-  void set_labels(const char * new_labels);
-  size_t maxlenof_labels() const;
-  double value() const;
-  void set_value(const double new_value);
-  size_t maxlenof_value() const;
-  virtual Message * create_message(const char *type) const;
-
-  virtual void copy_values(const Interface *other);
-  virtual const char * enum_tostring(const char *enumtype, int val) const;
-
-};
-
-} // end namespace fawkes
-
-#endif
diff --git a/src/plugins/metrics/interfaces/MetricCounterInterface.tolua b/src/plugins/metrics/interfaces/MetricCounterInterface.tolua
deleted file mode 100644 (file)
index 046ad2a..0000000
+++ /dev/null
@@ -1,67 +0,0 @@
-$#include <interfaces/MetricCounterInterface.h>
-$#include <utils/time/time.h>
-$#include <utils/time/clock.h>
-$using namespace fawkes;
-namespace fawkes {
-class MetricCounterInterface : public Interface
-{
-
-  char * labels();
-  void set_labels(const char * new_labels);
-  int maxlenof_labels() const;
-  double value();
-  void set_value(const double new_value);
-  int maxlenof_value() const;
-  bool                    oftype(const char *interface_type) const;
-  const void *            datachunk() const;
-  unsigned int            datasize() const;
-  const char *            type() const;
-  const char *            id() const;
-  const char *            uid() const;
-  unsigned int            serial() const;
-  unsigned int            mem_serial() const;
-  bool                    operator== (Interface &comp) const;
-  const unsigned char *   hash() const;
-  int                     hash_size() const;
-  const char *            hash_printable() const;
-  bool                    is_writer() const;
-  void                    set_from_chunk(void *chunk);
-  virtual fawkes::Message *  create_message @ create_message_generic(const char *type) const;
-  void          read();
-  void          write();
-  bool          has_writer() const;
-  unsigned int  num_readers() const;
-  bool          changed() const;
-  const fawkes::Time *  timestamp() const;
-  void          set_auto_timestamping(bool enabled);
-  void          set_timestamp(const fawkes::Time *t);
-  void          set_clock(fawkes::Clock *clock);
-  unsigned int  msgq_enqueue_copy(Message *message);
-  void          msgq_remove(Message *message);
-  void          msgq_remove(unsigned int message_id);
-  unsigned int  msgq_size();
-  void          msgq_flush();
-  void          msgq_lock();
-  bool          msgq_try_lock();
-  void          msgq_unlock();
-  void          msgq_pop();
-  fawkes::Message * msgq_first @ msgq_first_generic();
-  bool          msgq_empty();
-
-
-};
-
-
-$[
-
-assert(fawkes.Interface.msgq_first)
-assert(fawkes.Interface.msgq_enqueue)
-assert(fawkes.Interface.create_message)
-
-fawkes.MetricCounterInterface.msgq_first     = fawkes.Interface.msgq_first
-fawkes.MetricCounterInterface.msgq_enqueue   = fawkes.Interface.msgq_enqueue
-fawkes.MetricCounterInterface.create_message = fawkes.Interface.create_message
-
-$]
-
-}
diff --git a/src/plugins/metrics/interfaces/MetricFamilyInterface.cpp b/src/plugins/metrics/interfaces/MetricFamilyInterface.cpp
deleted file mode 100644 (file)
index 7e67135..0000000
+++ /dev/null
@@ -1,247 +0,0 @@
-
-/***************************************************************************
- *  MetricFamilyInterface.cpp - Fawkes BlackBoard Interface - MetricFamilyInterface
- *
- *  Templated created:   Thu Oct 12 10:49:19 2006
- *  Copyright  2017  Tim Niemueller
- *
- ****************************************************************************/
-
-/*  This program is free software; you can redistribute it and/or modify
- *  it under the terms of the GNU General Public License as published by
- *  the Free Software Foundation; either version 2 of the License, or
- *  (at your option) any later version. A runtime exception applies to
- *  this software (see LICENSE.GPL_WRE file mentioned below for details).
- *
- *  This program is distributed in the hope that it will be useful,
- *  but WITHOUT ANY WARRANTY; without even the implied warranty of
- *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
- *  GNU Library General Public License for more details.
- *
- *  Read the full text in the LICENSE.GPL_WRE file in the doc directory.
- */
-
-#include <interfaces/MetricFamilyInterface.h>
-
-#include <core/exceptions/software.h>
-
-#include <map>
-#include <string>
-#include <cstring>
-#include <cstdlib>
-
-namespace fawkes {
-
-/** @class MetricFamilyInterface <interfaces/MetricFamilyInterface.h>
- * MetricFamilyInterface Fawkes BlackBoard Interface.
- * 
-                 Each MetricFamily within the same exposition must have a unique
-                 name. Each Metric within the same MetricFamily must have a
-                 unique set of LabelPair fields. Otherwise, the ingestion
-                 behavior is undefined.
-
-                 To determine all metrics, all interfaces of the appropriate type
-                 with the same prefix as a MetricFamilyInterface ID are opened
-                 and exported. Metrics of non-matching type are silently ignored.
-         
- * @ingroup FawkesInterfaces
- */
-
-
-
-/** Constructor */
-MetricFamilyInterface::MetricFamilyInterface() : Interface()
-{
-  data_size = sizeof(MetricFamilyInterface_data_t);
-  data_ptr  = malloc(data_size);
-  data      = (MetricFamilyInterface_data_t *)data_ptr;
-  data_ts   = (interface_data_ts_t *)data_ptr;
-  memset(data_ptr, 0, data_size);
-  enum_map_MetricType[(int)NOT_INITIALIZED] = "NOT_INITIALIZED";
-  enum_map_MetricType[(int)COUNTER] = "COUNTER";
-  enum_map_MetricType[(int)GAUGE] = "GAUGE";
-  enum_map_MetricType[(int)UNTYPED] = "UNTYPED";
-  enum_map_MetricType[(int)HISTOGRAM] = "HISTOGRAM";
-  add_fieldinfo(IFT_STRING, "name", 128, data->name);
-  add_fieldinfo(IFT_STRING, "help", 256, data->help);
-  add_fieldinfo(IFT_ENUM, "metric_type", 1, &data->metric_type, "MetricType", &enum_map_MetricType);
-  unsigned char tmp_hash[] = {0x4a, 0xdc, 0x96, 0x7f, 0x52, 00, 0x90, 0xe1, 0x48, 0x93, 0xa0, 0xae, 0xb4, 0xce, 0xcf, 0xec};
-  set_hash(tmp_hash);
-}
-
-/** Destructor */
-MetricFamilyInterface::~MetricFamilyInterface()
-{
-  free(data_ptr);
-}
-/** Convert MetricType constant to string.
- * @param value value to convert to string
- * @return constant value as string.
- */
-const char *
-MetricFamilyInterface::tostring_MetricType(MetricType value) const
-{
-  switch (value) {
-  case NOT_INITIALIZED: return "NOT_INITIALIZED";
-  case COUNTER: return "COUNTER";
-  case GAUGE: return "GAUGE";
-  case UNTYPED: return "UNTYPED";
-  case HISTOGRAM: return "HISTOGRAM";
-  default: return "UNKNOWN";
-  }
-}
-/* Methods */
-/** Get name value.
- * 
-           The metric family name.
-    
- * @return name value
- */
-char *
-MetricFamilyInterface::name() const
-{
-  return data->name;
-}
-
-/** Get maximum length of name value.
- * @return length of name value, can be length of the array or number of 
- * maximum number of characters for a string
- */
-size_t
-MetricFamilyInterface::maxlenof_name() const
-{
-  return 128;
-}
-
-/** Set name value.
- * 
-           The metric family name.
-    
- * @param new_name new name value
- */
-void
-MetricFamilyInterface::set_name(const char * new_name)
-{
-  strncpy(data->name, new_name, sizeof(data->name));
-  data_changed = true;
-}
-
-/** Get help value.
- * 
-           The metric family name.
-    
- * @return help value
- */
-char *
-MetricFamilyInterface::help() const
-{
-  return data->help;
-}
-
-/** Get maximum length of help value.
- * @return length of help value, can be length of the array or number of 
- * maximum number of characters for a string
- */
-size_t
-MetricFamilyInterface::maxlenof_help() const
-{
-  return 256;
-}
-
-/** Set help value.
- * 
-           The metric family name.
-    
- * @param new_help new help value
- */
-void
-MetricFamilyInterface::set_help(const char * new_help)
-{
-  strncpy(data->help, new_help, sizeof(data->help));
-  data_changed = true;
-}
-
-/** Get metric_type value.
- * 
-           The type of metrics to look for.
-    
- * @return metric_type value
- */
-MetricFamilyInterface::MetricType
-MetricFamilyInterface::metric_type() const
-{
-  return (MetricFamilyInterface::MetricType)data->metric_type;
-}
-
-/** Get maximum length of metric_type value.
- * @return length of metric_type value, can be length of the array or number of 
- * maximum number of characters for a string
- */
-size_t
-MetricFamilyInterface::maxlenof_metric_type() const
-{
-  return 1;
-}
-
-/** Set metric_type value.
- * 
-           The type of metrics to look for.
-    
- * @param new_metric_type new metric_type value
- */
-void
-MetricFamilyInterface::set_metric_type(const MetricType new_metric_type)
-{
-  data->metric_type = new_metric_type;
-  data_changed = true;
-}
-
-/* =========== message create =========== */
-Message *
-MetricFamilyInterface::create_message(const char *type) const
-{
-  throw UnknownTypeException("The given type '%s' does not match any known "
-                             "message type for this interface type.", type);
-}
-
-
-/** Copy values from other interface.
- * @param other other interface to copy values from
- */
-void
-MetricFamilyInterface::copy_values(const Interface *other)
-{
-  const MetricFamilyInterface *oi = dynamic_cast<const MetricFamilyInterface *>(other);
-  if (oi == NULL) {
-    throw TypeMismatchException("Can only copy values from interface of same type (%s vs. %s)",
-                                type(), other->type());
-  }
-  memcpy(data, oi->data, sizeof(MetricFamilyInterface_data_t));
-}
-
-const char *
-MetricFamilyInterface::enum_tostring(const char *enumtype, int val) const
-{
-  if (strcmp(enumtype, "MetricType") == 0) {
-    return tostring_MetricType((MetricType)val);
-  }
-  throw UnknownTypeException("Unknown enum type %s", enumtype);
-}
-
-/* =========== messages =========== */
-/** Check if message is valid and can be enqueued.
- * @param message Message to check
- * @return true if the message is valid, false otherwise.
- */
-bool
-MetricFamilyInterface::message_valid(const Message *message) const
-{
-  return false;
-}
-
-/// @cond INTERNALS
-EXPORT_INTERFACE(MetricFamilyInterface)
-/// @endcond
-
-
-} // end namespace fawkes
diff --git a/src/plugins/metrics/interfaces/MetricFamilyInterface.h_ext b/src/plugins/metrics/interfaces/MetricFamilyInterface.h_ext
deleted file mode 100644 (file)
index 2e2833f..0000000
+++ /dev/null
@@ -1,100 +0,0 @@
-
-/***************************************************************************
- *  MetricFamilyInterface.h - Fawkes BlackBoard Interface - MetricFamilyInterface
- *
- *  Templated created:   Thu Oct 12 10:49:19 2006
- *  Copyright  2017  Tim Niemueller
- *
- ****************************************************************************/
-
-/*  This program is free software; you can redistribute it and/or modify
- *  it under the terms of the GNU General Public License as published by
- *  the Free Software Foundation; either version 2 of the License, or
- *  (at your option) any later version. A runtime exception applies to
- *  this software (see LICENSE.GPL_WRE file mentioned below for details).
- *
- *  This program is distributed in the hope that it will be useful,
- *  but WITHOUT ANY WARRANTY; without even the implied warranty of
- *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
- *  GNU Library General Public License for more details.
- *
- *  Read the full text in the LICENSE.GPL_WRE file in the doc directory.
- */
-
-#ifndef __INTERFACES_METRICFAMILYINTERFACE_H_
-#define __INTERFACES_METRICFAMILYINTERFACE_H_
-
-#include <interface/interface.h>
-#include <interface/message.h>
-#include <interface/field_iterator.h>
-
-namespace fawkes {
-
-class MetricFamilyInterface : public Interface
-{
- /// @cond INTERNALS
- INTERFACE_MGMT_FRIENDS(MetricFamilyInterface)
- /// @endcond
- public:
-  /* constants */
-
-  /** 
-                               Describes the expected metrics type for this family.
-                        */
-  typedef enum {
-    NOT_INITIALIZED = 0 /**< 
-                               The initialization has not been completed, yet. */,
-    COUNTER = 1 /**< Counter */,
-    GAUGE = 2 /**< Gauge */,
-    UNTYPED = 3 /**< Untyped */,
-    HISTOGRAM = 5 /**< Histogram */
-  } MetricType;
-  const char * tostring_MetricType(MetricType value) const;
-
- private:
-  /** Internal data storage, do NOT modify! */
-  typedef struct __attribute__((packed)) {
-    int64_t timestamp_sec;  /**< Interface Unix timestamp, seconds */
-    int64_t timestamp_usec; /**< Interface Unix timestamp, micro-seconds */
-    char name[128]; /**< 
-           The metric family name.
-     */
-    char help[256]; /**< 
-           The metric family name.
-     */
-    int32_t metric_type; /**< 
-           The type of metrics to look for.
-     */
-  } MetricFamilyInterface_data_t;
-
-  MetricFamilyInterface_data_t *data;
-
-  interface_enum_map_t enum_map_MetricType;
- public:
-  /* messages */
-  virtual bool message_valid(const Message *message) const;
- private:
-  MetricFamilyInterface();
-  ~MetricFamilyInterface();
-
- public:
-  /* Methods */
-  char * name() const;
-  void set_name(const char * new_name);
-  size_t maxlenof_name() const;
-  char * help() const;
-  void set_help(const char * new_help);
-  size_t maxlenof_help() const;
-  MetricType metric_type() const;
-  void set_metric_type(const MetricType new_metric_type);
-  size_t maxlenof_metric_type() const;
-  virtual Message * create_message(const char *type) const;
-
-  virtual void copy_values(const Interface *other);
-  virtual const char * enum_tostring(const char *enumtype, int val) const;
-
-};
-
-} // end namespace fawkes
-
-#endif
diff --git a/src/plugins/metrics/interfaces/MetricFamilyInterface.tolua b/src/plugins/metrics/interfaces/MetricFamilyInterface.tolua
deleted file mode 100644 (file)
index 5a61427..0000000
+++ /dev/null
@@ -1,78 +0,0 @@
-$#include <interfaces/MetricFamilyInterface.h>
-$#include <utils/time/time.h>
-$#include <utils/time/clock.h>
-$using namespace fawkes;
-namespace fawkes {
-class MetricFamilyInterface : public Interface
-{
-
-  typedef enum {
-    NOT_INITIALIZED = 0,
-    COUNTER = 1,
-    GAUGE = 2,
-    UNTYPED = 3,
-    HISTOGRAM = 5
-  } MetricType;
-
-  char * name();
-  void set_name(const char * new_name);
-  int maxlenof_name() const;
-  char * help();
-  void set_help(const char * new_help);
-  int maxlenof_help() const;
-  MetricType metric_type();
-  void set_metric_type(const MetricType new_metric_type);
-  int maxlenof_metric_type() const;
-  bool                    oftype(const char *interface_type) const;
-  const void *            datachunk() const;
-  unsigned int            datasize() const;
-  const char *            type() const;
-  const char *            id() const;
-  const char *            uid() const;
-  unsigned int            serial() const;
-  unsigned int            mem_serial() const;
-  bool                    operator== (Interface &comp) const;
-  const unsigned char *   hash() const;
-  int                     hash_size() const;
-  const char *            hash_printable() const;
-  bool                    is_writer() const;
-  void                    set_from_chunk(void *chunk);
-  virtual fawkes::Message *  create_message @ create_message_generic(const char *type) const;
-  void          read();
-  void          write();
-  bool          has_writer() const;
-  unsigned int  num_readers() const;
-  bool          changed() const;
-  const fawkes::Time *  timestamp() const;
-  void          set_auto_timestamping(bool enabled);
-  void          set_timestamp(const fawkes::Time *t);
-  void          set_clock(fawkes::Clock *clock);
-  unsigned int  msgq_enqueue_copy(Message *message);
-  void          msgq_remove(Message *message);
-  void          msgq_remove(unsigned int message_id);
-  unsigned int  msgq_size();
-  void          msgq_flush();
-  void          msgq_lock();
-  bool          msgq_try_lock();
-  void          msgq_unlock();
-  void          msgq_pop();
-  fawkes::Message * msgq_first @ msgq_first_generic();
-  bool          msgq_empty();
-
-
-};
-
-
-$[
-
-assert(fawkes.Interface.msgq_first)
-assert(fawkes.Interface.msgq_enqueue)
-assert(fawkes.Interface.create_message)
-
-fawkes.MetricFamilyInterface.msgq_first     = fawkes.Interface.msgq_first
-fawkes.MetricFamilyInterface.msgq_enqueue   = fawkes.Interface.msgq_enqueue
-fawkes.MetricFamilyInterface.create_message = fawkes.Interface.create_message
-
-$]
-
-}
diff --git a/src/plugins/metrics/interfaces/MetricGaugeInterface.cpp b/src/plugins/metrics/interfaces/MetricGaugeInterface.cpp
deleted file mode 100644 (file)
index 7f28329..0000000
+++ /dev/null
@@ -1,187 +0,0 @@
-
-/***************************************************************************
- *  MetricGaugeInterface.cpp - Fawkes BlackBoard Interface - MetricGaugeInterface
- *
- *  Templated created:   Thu Oct 12 10:49:19 2006
- *  Copyright  2017  Tim Niemueller
- *
- ****************************************************************************/
-
-/*  This program is free software; you can redistribute it and/or modify
- *  it under the terms of the GNU General Public License as published by
- *  the Free Software Foundation; either version 2 of the License, or
- *  (at your option) any later version. A runtime exception applies to
- *  this software (see LICENSE.GPL_WRE file mentioned below for details).
- *
- *  This program is distributed in the hope that it will be useful,
- *  but WITHOUT ANY WARRANTY; without even the implied warranty of
- *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
- *  GNU Library General Public License for more details.
- *
- *  Read the full text in the LICENSE.GPL_WRE file in the doc directory.
- */
-
-#include <interfaces/MetricGaugeInterface.h>
-
-#include <core/exceptions/software.h>
-
-#include <map>
-#include <string>
-#include <cstring>
-#include <cstdlib>
-
-namespace fawkes {
-
-/** @class MetricGaugeInterface <interfaces/MetricGaugeInterface.h>
- * MetricGaugeInterface Fawkes BlackBoard Interface.
- * 
-                 A gauge is a metric that represents a single numerical value
-                 that can arbitrarily go up and down.
-
-                 Gauges are typically used for measured values like temperatures
-                 or current memory usage, but also "counts" that can go up and
-                 down, like the number of running goroutines.
-    
- * @ingroup FawkesInterfaces
- */
-
-
-
-/** Constructor */
-MetricGaugeInterface::MetricGaugeInterface() : Interface()
-{
-  data_size = sizeof(MetricGaugeInterface_data_t);
-  data_ptr  = malloc(data_size);
-  data      = (MetricGaugeInterface_data_t *)data_ptr;
-  data_ts   = (interface_data_ts_t *)data_ptr;
-  memset(data_ptr, 0, data_size);
-  add_fieldinfo(IFT_STRING, "labels", 512, data->labels);
-  add_fieldinfo(IFT_DOUBLE, "value", 1, &data->value);
-  unsigned char tmp_hash[] = {0x27, 0x2b, 0x21, 0xb8, 0xeb, 0x39, 0x55, 0x3a, 0x2c, 0x4c, 0x2d, 0x8c, 0x71, 0xb6, 0xd1, 0xbf};
-  set_hash(tmp_hash);
-}
-
-/** Destructor */
-MetricGaugeInterface::~MetricGaugeInterface()
-{
-  free(data_ptr);
-}
-/* Methods */
-/** Get labels value.
- * 
-                 Labels must be given as key-value pairs of the form
-                 "key=value[,key=value...]".
-         
- * @return labels value
- */
-char *
-MetricGaugeInterface::labels() const
-{
-  return data->labels;
-}
-
-/** Get maximum length of labels value.
- * @return length of labels value, can be length of the array or number of 
- * maximum number of characters for a string
- */
-size_t
-MetricGaugeInterface::maxlenof_labels() const
-{
-  return 512;
-}
-
-/** Set labels value.
- * 
-                 Labels must be given as key-value pairs of the form
-                 "key=value[,key=value...]".
-         
- * @param new_labels new labels value
- */
-void
-MetricGaugeInterface::set_labels(const char * new_labels)
-{
-  strncpy(data->labels, new_labels, sizeof(data->labels));
-  data_changed = true;
-}
-
-/** Get value value.
- * 
-           The counter value.
-    
- * @return value value
- */
-double
-MetricGaugeInterface::value() const
-{
-  return data->value;
-}
-
-/** Get maximum length of value value.
- * @return length of value value, can be length of the array or number of 
- * maximum number of characters for a string
- */
-size_t
-MetricGaugeInterface::maxlenof_value() const
-{
-  return 1;
-}
-
-/** Set value value.
- * 
-           The counter value.
-    
- * @param new_value new value value
- */
-void
-MetricGaugeInterface::set_value(const double new_value)
-{
-  data->value = new_value;
-  data_changed = true;
-}
-
-/* =========== message create =========== */
-Message *
-MetricGaugeInterface::create_message(const char *type) const
-{
-  throw UnknownTypeException("The given type '%s' does not match any known "
-                             "message type for this interface type.", type);
-}
-
-
-/** Copy values from other interface.
- * @param other other interface to copy values from
- */
-void
-MetricGaugeInterface::copy_values(const Interface *other)
-{
-  const MetricGaugeInterface *oi = dynamic_cast<const MetricGaugeInterface *>(other);
-  if (oi == NULL) {
-    throw TypeMismatchException("Can only copy values from interface of same type (%s vs. %s)",
-                                type(), other->type());
-  }
-  memcpy(data, oi->data, sizeof(MetricGaugeInterface_data_t));
-}
-
-const char *
-MetricGaugeInterface::enum_tostring(const char *enumtype, int val) const
-{
-  throw UnknownTypeException("Unknown enum type %s", enumtype);
-}
-
-/* =========== messages =========== */
-/** Check if message is valid and can be enqueued.
- * @param message Message to check
- * @return true if the message is valid, false otherwise.
- */
-bool
-MetricGaugeInterface::message_valid(const Message *message) const
-{
-  return false;
-}
-
-/// @cond INTERNALS
-EXPORT_INTERFACE(MetricGaugeInterface)
-/// @endcond
-
-
-} // end namespace fawkes
diff --git a/src/plugins/metrics/interfaces/MetricGaugeInterface.h_ext b/src/plugins/metrics/interfaces/MetricGaugeInterface.h_ext
deleted file mode 100644 (file)
index 1c705aa..0000000
+++ /dev/null
@@ -1,81 +0,0 @@
-
-/***************************************************************************
- *  MetricGaugeInterface.h - Fawkes BlackBoard Interface - MetricGaugeInterface
- *
- *  Templated created:   Thu Oct 12 10:49:19 2006
- *  Copyright  2017  Tim Niemueller
- *
- ****************************************************************************/
-
-/*  This program is free software; you can redistribute it and/or modify
- *  it under the terms of the GNU General Public License as published by
- *  the Free Software Foundation; either version 2 of the License, or
- *  (at your option) any later version. A runtime exception applies to
- *  this software (see LICENSE.GPL_WRE file mentioned below for details).
- *
- *  This program is distributed in the hope that it will be useful,
- *  but WITHOUT ANY WARRANTY; without even the implied warranty of
- *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
- *  GNU Library General Public License for more details.
- *
- *  Read the full text in the LICENSE.GPL_WRE file in the doc directory.
- */
-
-#ifndef __INTERFACES_METRICGAUGEINTERFACE_H_
-#define __INTERFACES_METRICGAUGEINTERFACE_H_
-
-#include <interface/interface.h>
-#include <interface/message.h>
-#include <interface/field_iterator.h>
-
-namespace fawkes {
-
-class MetricGaugeInterface : public Interface
-{
- /// @cond INTERNALS
- INTERFACE_MGMT_FRIENDS(MetricGaugeInterface)
- /// @endcond
- public:
-  /* constants */
-
- private:
-  /** Internal data storage, do NOT modify! */
-  typedef struct __attribute__((packed)) {
-    int64_t timestamp_sec;  /**< Interface Unix timestamp, seconds */
-    int64_t timestamp_usec; /**< Interface Unix timestamp, micro-seconds */
-    char labels[512]; /**< 
-                 Labels must be given as key-value pairs of the form
-                 "key=value[,key=value...]".
-          */
-    double value; /**< 
-           The counter value.
-     */
-  } MetricGaugeInterface_data_t;
-
-  MetricGaugeInterface_data_t *data;
-
- public:
-  /* messages */
-  virtual bool message_valid(const Message *message) const;
- private:
-  MetricGaugeInterface();
-  ~MetricGaugeInterface();
-
- public:
-  /* Methods */
-  char * labels() const;
-  void set_labels(const char * new_labels);
-  size_t maxlenof_labels() const;
-  double value() const;
-  void set_value(const double new_value);
-  size_t maxlenof_value() const;
-  virtual Message * create_message(const char *type) const;
-
-  virtual void copy_values(const Interface *other);
-  virtual const char * enum_tostring(const char *enumtype, int val) const;
-
-};
-
-} // end namespace fawkes
-
-#endif
diff --git a/src/plugins/metrics/interfaces/MetricGaugeInterface.tolua b/src/plugins/metrics/interfaces/MetricGaugeInterface.tolua
deleted file mode 100644 (file)
index efbd99d..0000000
+++ /dev/null
@@ -1,67 +0,0 @@
-$#include <interfaces/MetricGaugeInterface.h>
-$#include <utils/time/time.h>
-$#include <utils/time/clock.h>
-$using namespace fawkes;
-namespace fawkes {
-class MetricGaugeInterface : public Interface
-{
-
-  char * labels();
-  void set_labels(const char * new_labels);
-  int maxlenof_labels() const;
-  double value();
-  void set_value(const double new_value);
-  int maxlenof_value() const;
-  bool                    oftype(const char *interface_type) const;
-  const void *            datachunk() const;
-  unsigned int            datasize() const;
-  const char *            type() const;
-  const char *            id() const;
-  const char *            uid() const;
-  unsigned int            serial() const;
-  unsigned int            mem_serial() const;
-  bool                    operator== (Interface &comp) const;
-  const unsigned char *   hash() const;
-  int                     hash_size() const;
-  const char *            hash_printable() const;
-  bool                    is_writer() const;
-  void                    set_from_chunk(void *chunk);
-  virtual fawkes::Message *  create_message @ create_message_generic(const char *type) const;
-  void          read();
-  void          write();
-  bool          has_writer() const;
-  unsigned int  num_readers() const;
-  bool          changed() const;
-  const fawkes::Time *  timestamp() const;
-  void          set_auto_timestamping(bool enabled);
-  void          set_timestamp(const fawkes::Time *t);
-  void          set_clock(fawkes::Clock *clock);
-  unsigned int  msgq_enqueue_copy(Message *message);
-  void          msgq_remove(Message *message);
-  void          msgq_remove(unsigned int message_id);
-  unsigned int  msgq_size();
-  void          msgq_flush();
-  void          msgq_lock();
-  bool          msgq_try_lock();
-  void          msgq_unlock();
-  void          msgq_pop();
-  fawkes::Message * msgq_first @ msgq_first_generic();
-  bool          msgq_empty();
-
-
-};
-
-
-$[
-
-assert(fawkes.Interface.msgq_first)
-assert(fawkes.Interface.msgq_enqueue)
-assert(fawkes.Interface.create_message)
-
-fawkes.MetricGaugeInterface.msgq_first     = fawkes.Interface.msgq_first
-fawkes.MetricGaugeInterface.msgq_enqueue   = fawkes.Interface.msgq_enqueue
-fawkes.MetricGaugeInterface.create_message = fawkes.Interface.create_message
-
-$]
-
-}
diff --git a/src/plugins/metrics/interfaces/MetricHistogramInterface.cpp b/src/plugins/metrics/interfaces/MetricHistogramInterface.cpp
deleted file mode 100644 (file)
index ef998d4..0000000
+++ /dev/null
@@ -1,412 +0,0 @@
-
-/***************************************************************************
- *  MetricHistogramInterface.cpp - Fawkes BlackBoard Interface - MetricHistogramInterface
- *
- *  Templated created:   Thu Oct 12 10:49:19 2006
- *  Copyright  2017  Tim Niemueller
- *
- ****************************************************************************/
-
-/*  This program is free software; you can redistribute it and/or modify
- *  it under the terms of the GNU General Public License as published by
- *  the Free Software Foundation; either version 2 of the License, or
- *  (at your option) any later version. A runtime exception applies to
- *  this software (see LICENSE.GPL_WRE file mentioned below for details).
- *
- *  This program is distributed in the hope that it will be useful,
- *  but WITHOUT ANY WARRANTY; without even the implied warranty of
- *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
- *  GNU Library General Public License for more details.
- *
- *  Read the full text in the LICENSE.GPL_WRE file in the doc directory.
- */
-
-#include <interfaces/MetricHistogramInterface.h>
-
-#include <core/exceptions/software.h>
-
-#include <map>
-#include <string>
-#include <cstring>
-#include <cstdlib>
-
-namespace fawkes {
-
-/** @class MetricHistogramInterface <interfaces/MetricHistogramInterface.h>
- * MetricHistogramInterface Fawkes BlackBoard Interface.
- * 
-                 A histogram samples observations (usually things like request
-                 durations or response sizes) and counts them in configurable
-                 buckets. It also provides a sum of all observed values.
-
-                 A histogram with a base metric name of *basename* exposes
-                 multiple time series during a scrape:
-
-                 - cumulative counters for the observation buckets, exposed as
-                   *basename*_bucket{le="*upper inclusive bound*"}
-
-                 - the total sum of all observed values, exposed as *basename*_sum
-
-                 - the count of events that have been observed, exposed as
-                   *basename*_count (identical to *basename*_bucket{le="+Inf"}
-                   above)
-
-                 When operating on buckets, remember that the histogram is
-                 cumulative. See histograms and summaries for details of
-                 histogram usage and differences to summaries.
-
-                 The interface supports histograms of up to 16 buckets.
-         
- * @ingroup FawkesInterfaces
- */
-
-
-
-/** Constructor */
-MetricHistogramInterface::MetricHistogramInterface() : Interface()
-{
-  data_size = sizeof(MetricHistogramInterface_data_t);
-  data_ptr  = malloc(data_size);
-  data      = (MetricHistogramInterface_data_t *)data_ptr;
-  data_ts   = (interface_data_ts_t *)data_ptr;
-  memset(data_ptr, 0, data_size);
-  add_fieldinfo(IFT_STRING, "labels", 512, data->labels);
-  add_fieldinfo(IFT_UINT64, "sample_count", 1, &data->sample_count);
-  add_fieldinfo(IFT_DOUBLE, "sample_sum", 1, &data->sample_sum);
-  add_fieldinfo(IFT_UINT32, "bucket_count", 1, &data->bucket_count);
-  add_fieldinfo(IFT_UINT64, "bucket_cumulative_count", 16, &data->bucket_cumulative_count);
-  add_fieldinfo(IFT_DOUBLE, "bucket_upper_bound", 16, &data->bucket_upper_bound);
-  unsigned char tmp_hash[] = {0xe5, 0xbf, 0x9, 0xe1, 0xa7, 0xcc, 0x57, 0xe4, 0x87, 0xe4, 0x97, 0x5, 0x32, 0x25, 0xa9, 0x2b};
-  set_hash(tmp_hash);
-}
-
-/** Destructor */
-MetricHistogramInterface::~MetricHistogramInterface()
-{
-  free(data_ptr);
-}
-/* Methods */
-/** Get labels value.
- * 
-                 Labels must be given as key-value pairs of the form
-                 "key=value[,key=value...]".
-         
- * @return labels value
- */
-char *
-MetricHistogramInterface::labels() const
-{
-  return data->labels;
-}
-
-/** Get maximum length of labels value.
- * @return length of labels value, can be length of the array or number of 
- * maximum number of characters for a string
- */
-size_t
-MetricHistogramInterface::maxlenof_labels() const
-{
-  return 512;
-}
-
-/** Set labels value.
- * 
-                 Labels must be given as key-value pairs of the form
-                 "key=value[,key=value...]".
-         
- * @param new_labels new labels value
- */
-void
-MetricHistogramInterface::set_labels(const char * new_labels)
-{
-  strncpy(data->labels, new_labels, sizeof(data->labels));
-  data_changed = true;
-}
-
-/** Get sample_count value.
- * 
-                 The number of all samples.
-    
- * @return sample_count value
- */
-uint64_t
-MetricHistogramInterface::sample_count() const
-{
-  return data->sample_count;
-}
-
-/** Get maximum length of sample_count value.
- * @return length of sample_count value, can be length of the array or number of 
- * maximum number of characters for a string
- */
-size_t
-MetricHistogramInterface::maxlenof_sample_count() const
-{
-  return 1;
-}
-
-/** Set sample_count value.
- * 
-                 The number of all samples.
-    
- * @param new_sample_count new sample_count value
- */
-void
-MetricHistogramInterface::set_sample_count(const uint64_t new_sample_count)
-{
-  data->sample_count = new_sample_count;
-  data_changed = true;
-}
-
-/** Get sample_sum value.
- * 
-                 The sum of all samples.
-         
- * @return sample_sum value
- */
-double
-MetricHistogramInterface::sample_sum() const
-{
-  return data->sample_sum;
-}
-
-/** Get maximum length of sample_sum value.
- * @return length of sample_sum value, can be length of the array or number of 
- * maximum number of characters for a string
- */
-size_t
-MetricHistogramInterface::maxlenof_sample_sum() const
-{
-  return 1;
-}
-
-/** Set sample_sum value.
- * 
-                 The sum of all samples.
-         
- * @param new_sample_sum new sample_sum value
- */
-void
-MetricHistogramInterface::set_sample_sum(const double new_sample_sum)
-{
-  data->sample_sum = new_sample_sum;
-  data_changed = true;
-}
-
-/** Get bucket_count value.
- * 
-                 The number of valid entries in bucket array fields.
-         
- * @return bucket_count value
- */
-uint32_t
-MetricHistogramInterface::bucket_count() const
-{
-  return data->bucket_count;
-}
-
-/** Get maximum length of bucket_count value.
- * @return length of bucket_count value, can be length of the array or number of 
- * maximum number of characters for a string
- */
-size_t
-MetricHistogramInterface::maxlenof_bucket_count() const
-{
-  return 1;
-}
-
-/** Set bucket_count value.
- * 
-                 The number of valid entries in bucket array fields.
-         
- * @param new_bucket_count new bucket_count value
- */
-void
-MetricHistogramInterface::set_bucket_count(const uint32_t new_bucket_count)
-{
-  data->bucket_count = new_bucket_count;
-  data_changed = true;
-}
-
-/** Get bucket_cumulative_count value.
- * 
-                 The cumulative number of elements for the buckets.
-         
- * @return bucket_cumulative_count value
- */
-uint64_t *
-MetricHistogramInterface::bucket_cumulative_count() const
-{
-  return data->bucket_cumulative_count;
-}
-
-/** Get bucket_cumulative_count value at given index.
- * 
-                 The cumulative number of elements for the buckets.
-         
- * @param index index of value
- * @return bucket_cumulative_count value
- * @exception Exception thrown if index is out of bounds
- */
-uint64_t
-MetricHistogramInterface::bucket_cumulative_count(unsigned int index) const
-{
-  if (index > 16) {
-    throw Exception("Index value %u out of bounds (0..16)", index);
-  }
-  return data->bucket_cumulative_count[index];
-}
-
-/** Get maximum length of bucket_cumulative_count value.
- * @return length of bucket_cumulative_count value, can be length of the array or number of 
- * maximum number of characters for a string
- */
-size_t
-MetricHistogramInterface::maxlenof_bucket_cumulative_count() const
-{
-  return 16;
-}
-
-/** Set bucket_cumulative_count value.
- * 
-                 The cumulative number of elements for the buckets.
-         
- * @param new_bucket_cumulative_count new bucket_cumulative_count value
- */
-void
-MetricHistogramInterface::set_bucket_cumulative_count(const uint64_t * new_bucket_cumulative_count)
-{
-  memcpy(data->bucket_cumulative_count, new_bucket_cumulative_count, sizeof(uint64_t) * 16);
-  data_changed = true;
-}
-
-/** Set bucket_cumulative_count value at given index.
- * 
-                 The cumulative number of elements for the buckets.
-         
- * @param new_bucket_cumulative_count new bucket_cumulative_count value
- * @param index index for of the value
- */
-void
-MetricHistogramInterface::set_bucket_cumulative_count(unsigned int index, const uint64_t new_bucket_cumulative_count)
-{
-  if (index > 16) {
-    throw Exception("Index value %u out of bounds (0..16)", index);
-  }
-  data->bucket_cumulative_count[index] = new_bucket_cumulative_count;
-  data_changed = true;
-}
-/** Get bucket_upper_bound value.
- * 
-                 The upper bound for the given bucket.
-         
- * @return bucket_upper_bound value
- */
-double *
-MetricHistogramInterface::bucket_upper_bound() const
-{
-  return data->bucket_upper_bound;
-}
-
-/** Get bucket_upper_bound value at given index.
- * 
-                 The upper bound for the given bucket.
-         
- * @param index index of value
- * @return bucket_upper_bound value
- * @exception Exception thrown if index is out of bounds
- */
-double
-MetricHistogramInterface::bucket_upper_bound(unsigned int index) const
-{
-  if (index > 16) {
-    throw Exception("Index value %u out of bounds (0..16)", index);
-  }
-  return data->bucket_upper_bound[index];
-}
-
-/** Get maximum length of bucket_upper_bound value.
- * @return length of bucket_upper_bound value, can be length of the array or number of 
- * maximum number of characters for a string
- */
-size_t
-MetricHistogramInterface::maxlenof_bucket_upper_bound() const
-{
-  return 16;
-}
-
-/** Set bucket_upper_bound value.
- * 
-                 The upper bound for the given bucket.
-         
- * @param new_bucket_upper_bound new bucket_upper_bound value
- */
-void
-MetricHistogramInterface::set_bucket_upper_bound(const double * new_bucket_upper_bound)
-{
-  memcpy(data->bucket_upper_bound, new_bucket_upper_bound, sizeof(double) * 16);
-  data_changed = true;
-}
-
-/** Set bucket_upper_bound value at given index.
- * 
-                 The upper bound for the given bucket.
-         
- * @param new_bucket_upper_bound new bucket_upper_bound value
- * @param index index for of the value
- */
-void
-MetricHistogramInterface::set_bucket_upper_bound(unsigned int index, const double new_bucket_upper_bound)
-{
-  if (index > 16) {
-    throw Exception("Index value %u out of bounds (0..16)", index);
-  }
-  data->bucket_upper_bound[index] = new_bucket_upper_bound;
-  data_changed = true;
-}
-/* =========== message create =========== */
-Message *
-MetricHistogramInterface::create_message(const char *type) const
-{
-  throw UnknownTypeException("The given type '%s' does not match any known "
-                             "message type for this interface type.", type);
-}
-
-
-/** Copy values from other interface.
- * @param other other interface to copy values from
- */
-void
-MetricHistogramInterface::copy_values(const Interface *other)
-{
-  const MetricHistogramInterface *oi = dynamic_cast<const MetricHistogramInterface *>(other);
-  if (oi == NULL) {
-    throw TypeMismatchException("Can only copy values from interface of same type (%s vs. %s)",
-                                type(), other->type());
-  }
-  memcpy(data, oi->data, sizeof(MetricHistogramInterface_data_t));
-}
-
-const char *
-MetricHistogramInterface::enum_tostring(const char *enumtype, int val) const
-{
-  throw UnknownTypeException("Unknown enum type %s", enumtype);
-}
-
-/* =========== messages =========== */
-/** Check if message is valid and can be enqueued.
- * @param message Message to check
- * @return true if the message is valid, false otherwise.
- */
-bool
-MetricHistogramInterface::message_valid(const Message *message) const
-{
-  return false;
-}
-
-/// @cond INTERNALS
-EXPORT_INTERFACE(MetricHistogramInterface)
-/// @endcond
-
-
-} // end namespace fawkes
diff --git a/src/plugins/metrics/interfaces/MetricHistogramInterface.h_ext b/src/plugins/metrics/interfaces/MetricHistogramInterface.h_ext
deleted file mode 100644 (file)
index cb1f583..0000000
+++ /dev/null
@@ -1,109 +0,0 @@
-
-/***************************************************************************
- *  MetricHistogramInterface.h - Fawkes BlackBoard Interface - MetricHistogramInterface
- *
- *  Templated created:   Thu Oct 12 10:49:19 2006
- *  Copyright  2017  Tim Niemueller
- *
- ****************************************************************************/
-
-/*  This program is free software; you can redistribute it and/or modify
- *  it under the terms of the GNU General Public License as published by
- *  the Free Software Foundation; either version 2 of the License, or
- *  (at your option) any later version. A runtime exception applies to
- *  this software (see LICENSE.GPL_WRE file mentioned below for details).
- *
- *  This program is distributed in the hope that it will be useful,
- *  but WITHOUT ANY WARRANTY; without even the implied warranty of
- *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
- *  GNU Library General Public License for more details.
- *
- *  Read the full text in the LICENSE.GPL_WRE file in the doc directory.
- */
-
-#ifndef __INTERFACES_METRICHISTOGRAMINTERFACE_H_
-#define __INTERFACES_METRICHISTOGRAMINTERFACE_H_
-
-#include <interface/interface.h>
-#include <interface/message.h>
-#include <interface/field_iterator.h>
-
-namespace fawkes {
-
-class MetricHistogramInterface : public Interface
-{
- /// @cond INTERNALS
- INTERFACE_MGMT_FRIENDS(MetricHistogramInterface)
- /// @endcond
- public:
-  /* constants */
-
- private:
-  /** Internal data storage, do NOT modify! */
-  typedef struct __attribute__((packed)) {
-    int64_t timestamp_sec;  /**< Interface Unix timestamp, seconds */
-    int64_t timestamp_usec; /**< Interface Unix timestamp, micro-seconds */
-    char labels[512]; /**< 
-                 Labels must be given as key-value pairs of the form
-                 "key=value[,key=value...]".
-          */
-    uint64_t sample_count; /**< 
-                 The number of all samples.
-     */
-    double sample_sum; /**< 
-                 The sum of all samples.
-          */
-    uint32_t bucket_count; /**< 
-                 The number of valid entries in bucket array fields.
-          */
-    uint64_t bucket_cumulative_count[16]; /**< 
-                 The cumulative number of elements for the buckets.
-          */
-    double bucket_upper_bound[16]; /**< 
-                 The upper bound for the given bucket.
-          */
-  } MetricHistogramInterface_data_t;
-
-  MetricHistogramInterface_data_t *data;
-
- public:
-  /* messages */
-  virtual bool message_valid(const Message *message) const;
- private:
-  MetricHistogramInterface();
-  ~MetricHistogramInterface();
-
- public:
-  /* Methods */
-  char * labels() const;
-  void set_labels(const char * new_labels);
-  size_t maxlenof_labels() const;
-  uint64_t sample_count() const;
-  void set_sample_count(const uint64_t new_sample_count);
-  size_t maxlenof_sample_count() const;
-  double sample_sum() const;
-  void set_sample_sum(const double new_sample_sum);
-  size_t maxlenof_sample_sum() const;
-  uint32_t bucket_count() const;
-  void set_bucket_count(const uint32_t new_bucket_count);
-  size_t maxlenof_bucket_count() const;
-  uint64_t * bucket_cumulative_count() const;
-  uint64_t bucket_cumulative_count(unsigned int index) const;
-  void set_bucket_cumulative_count(unsigned int index, const uint64_t new_bucket_cumulative_count);
-  void set_bucket_cumulative_count(const uint64_t * new_bucket_cumulative_count);
-  size_t maxlenof_bucket_cumulative_count() const;
-  double * bucket_upper_bound() const;
-  double bucket_upper_bound(unsigned int index) const;
-  void set_bucket_upper_bound(unsigned int index, const double new_bucket_upper_bound);
-  void set_bucket_upper_bound(const double * new_bucket_upper_bound);
-  size_t maxlenof_bucket_upper_bound() const;
-  virtual Message * create_message(const char *type) const;
-
-  virtual void copy_values(const Interface *other);
-  virtual const char * enum_tostring(const char *enumtype, int val) const;
-
-};
-
-} // end namespace fawkes
-
-#endif
diff --git a/src/plugins/metrics/interfaces/MetricHistogramInterface.tolua b/src/plugins/metrics/interfaces/MetricHistogramInterface.tolua
deleted file mode 100644 (file)
index 01b220c..0000000
+++ /dev/null
@@ -1,79 +0,0 @@
-$#include <interfaces/MetricHistogramInterface.h>
-$#include <utils/time/time.h>
-$#include <utils/time/clock.h>
-$using namespace fawkes;
-namespace fawkes {
-class MetricHistogramInterface : public Interface
-{
-
-  char * labels();
-  void set_labels(const char * new_labels);
-  int maxlenof_labels() const;
-  unsigned long sample_count();
-  void set_sample_count(const unsigned long new_sample_count);
-  int maxlenof_sample_count() const;
-  double sample_sum();
-  void set_sample_sum(const double new_sample_sum);
-  int maxlenof_sample_sum() const;
-  unsigned int bucket_count();
-  void set_bucket_count(const unsigned int new_bucket_count);
-  int maxlenof_bucket_count() const;
-  unsigned long bucket_cumulative_count(int index);
-  void set_bucket_cumulative_count(unsigned int index, const unsigned long new_bucket_cumulative_count);
-  int maxlenof_bucket_cumulative_count() const;
-  double bucket_upper_bound(int index);
-  void set_bucket_upper_bound(unsigned int index, const double new_bucket_upper_bound);
-  int maxlenof_bucket_upper_bound() const;
-  bool                    oftype(const char *interface_type) const;
-  const void *            datachunk() const;
-  unsigned int            datasize() const;
-  const char *            type() const;
-  const char *            id() const;
-  const char *            uid() const;
-  unsigned int            serial() const;
-  unsigned int            mem_serial() const;
-  bool                    operator== (Interface &comp) const;
-  const unsigned char *   hash() const;
-  int                     hash_size() const;
-  const char *            hash_printable() const;
-  bool                    is_writer() const;
-  void                    set_from_chunk(void *chunk);
-  virtual fawkes::Message *  create_message @ create_message_generic(const char *type) const;
-  void          read();
-  void          write();
-  bool          has_writer() const;
-  unsigned int  num_readers() const;
-  bool          changed() const;
-  const fawkes::Time *  timestamp() const;
-  void          set_auto_timestamping(bool enabled);
-  void          set_timestamp(const fawkes::Time *t);
-  void          set_clock(fawkes::Clock *clock);
-  unsigned int  msgq_enqueue_copy(Message *message);
-  void          msgq_remove(Message *message);
-  void          msgq_remove(unsigned int message_id);
-  unsigned int  msgq_size();
-  void          msgq_flush();
-  void          msgq_lock();
-  bool          msgq_try_lock();
-  void          msgq_unlock();
-  void          msgq_pop();
-  fawkes::Message * msgq_first @ msgq_first_generic();
-  bool          msgq_empty();
-
-
-};
-
-
-$[
-
-assert(fawkes.Interface.msgq_first)
-assert(fawkes.Interface.msgq_enqueue)
-assert(fawkes.Interface.create_message)
-
-fawkes.MetricHistogramInterface.msgq_first     = fawkes.Interface.msgq_first
-fawkes.MetricHistogramInterface.msgq_enqueue   = fawkes.Interface.msgq_enqueue
-fawkes.MetricHistogramInterface.create_message = fawkes.Interface.create_message
-
-$]
-
-}
diff --git a/src/plugins/metrics/interfaces/MetricUntypedInterface.cpp b/src/plugins/metrics/interfaces/MetricUntypedInterface.cpp
deleted file mode 100644 (file)
index 25b03ab..0000000
+++ /dev/null
@@ -1,184 +0,0 @@
-
-/***************************************************************************
- *  MetricUntypedInterface.cpp - Fawkes BlackBoard Interface - MetricUntypedInterface
- *
- *  Templated created:   Thu Oct 12 10:49:19 2006
- *  Copyright  2017  Tim Niemueller
- *
- ****************************************************************************/
-
-/*  This program is free software; you can redistribute it and/or modify
- *  it under the terms of the GNU General Public License as published by
- *  the Free Software Foundation; either version 2 of the License, or
- *  (at your option) any later version. A runtime exception applies to
- *  this software (see LICENSE.GPL_WRE file mentioned below for details).
- *
- *  This program is distributed in the hope that it will be useful,
- *  but WITHOUT ANY WARRANTY; without even the implied warranty of
- *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
- *  GNU Library General Public License for more details.
- *
- *  Read the full text in the LICENSE.GPL_WRE file in the doc directory.
- */
-
-#include <interfaces/MetricUntypedInterface.h>
-
-#include <core/exceptions/software.h>
-
-#include <map>
-#include <string>
-#include <cstring>
-#include <cstdlib>
-
-namespace fawkes {
-
-/** @class MetricUntypedInterface <interfaces/MetricUntypedInterface.h>
- * MetricUntypedInterface Fawkes BlackBoard Interface.
- * 
-                 This is an untyped metric of some sort. Use the specific types
-                 if possible and resort to the untyped metric if that does not
-                 fit.
-    
- * @ingroup FawkesInterfaces
- */
-
-
-
-/** Constructor */
-MetricUntypedInterface::MetricUntypedInterface() : Interface()
-{
-  data_size = sizeof(MetricUntypedInterface_data_t);
-  data_ptr  = malloc(data_size);
-  data      = (MetricUntypedInterface_data_t *)data_ptr;
-  data_ts   = (interface_data_ts_t *)data_ptr;
-  memset(data_ptr, 0, data_size);
-  add_fieldinfo(IFT_STRING, "labels", 512, data->labels);
-  add_fieldinfo(IFT_DOUBLE, "value", 1, &data->value);
-  unsigned char tmp_hash[] = {0x1e, 0xc7, 0x29, 0x51, 0xef, 0x61, 0xda, 0x3f, 0x88, 0x13, 0x9f, 0x70, 0xb7, 0x34, 0x46, 0x15};
-  set_hash(tmp_hash);
-}
-
-/** Destructor */
-MetricUntypedInterface::~MetricUntypedInterface()
-{
-  free(data_ptr);
-}
-/* Methods */
-/** Get labels value.
- * 
-                 Labels must be given as key-value pairs of the form
-                 "key=value[,key=value...]".
-         
- * @return labels value
- */
-char *
-MetricUntypedInterface::labels() const
-{
-  return data->labels;
-}
-
-/** Get maximum length of labels value.
- * @return length of labels value, can be length of the array or number of 
- * maximum number of characters for a string
- */
-size_t
-MetricUntypedInterface::maxlenof_labels() const
-{
-  return 512;
-}
-
-/** Set labels value.
- * 
-                 Labels must be given as key-value pairs of the form
-                 "key=value[,key=value...]".
-         
- * @param new_labels new labels value
- */
-void
-MetricUntypedInterface::set_labels(const char * new_labels)
-{
-  strncpy(data->labels, new_labels, sizeof(data->labels));
-  data_changed = true;
-}
-
-/** Get value value.
- * 
-           The counter value.
-    
- * @return value value
- */
-double
-MetricUntypedInterface::value() const
-{
-  return data->value;
-}
-
-/** Get maximum length of value value.
- * @return length of value value, can be length of the array or number of 
- * maximum number of characters for a string
- */
-size_t
-MetricUntypedInterface::maxlenof_value() const
-{
-  return 1;
-}
-
-/** Set value value.
- * 
-           The counter value.
-    
- * @param new_value new value value
- */
-void
-MetricUntypedInterface::set_value(const double new_value)
-{
-  data->value = new_value;
-  data_changed = true;
-}
-
-/* =========== message create =========== */
-Message *
-MetricUntypedInterface::create_message(const char *type) const
-{
-  throw UnknownTypeException("The given type '%s' does not match any known "
-                             "message type for this interface type.", type);
-}
-
-
-/** Copy values from other interface.
- * @param other other interface to copy values from
- */
-void
-MetricUntypedInterface::copy_values(const Interface *other)
-{
-  const MetricUntypedInterface *oi = dynamic_cast<const MetricUntypedInterface *>(other);
-  if (oi == NULL) {
-    throw TypeMismatchException("Can only copy values from interface of same type (%s vs. %s)",
-                                type(), other->type());
-  }
-  memcpy(data, oi->data, sizeof(MetricUntypedInterface_data_t));
-}
-
-const char *
-MetricUntypedInterface::enum_tostring(const char *enumtype, int val) const
-{
-  throw UnknownTypeException("Unknown enum type %s", enumtype);
-}
-
-/* =========== messages =========== */
-/** Check if message is valid and can be enqueued.
- * @param message Message to check
- * @return true if the message is valid, false otherwise.
- */
-bool
-MetricUntypedInterface::message_valid(const Message *message) const
-{
-  return false;
-}
-
-/// @cond INTERNALS
-EXPORT_INTERFACE(MetricUntypedInterface)
-/// @endcond
-
-
-} // end namespace fawkes
diff --git a/src/plugins/metrics/interfaces/MetricUntypedInterface.h_ext b/src/plugins/metrics/interfaces/MetricUntypedInterface.h_ext
deleted file mode 100644 (file)
index 5b6f7df..0000000
+++ /dev/null
@@ -1,81 +0,0 @@
-
-/***************************************************************************
- *  MetricUntypedInterface.h - Fawkes BlackBoard Interface - MetricUntypedInterface
- *
- *  Templated created:   Thu Oct 12 10:49:19 2006
- *  Copyright  2017  Tim Niemueller
- *
- ****************************************************************************/
-
-/*  This program is free software; you can redistribute it and/or modify
- *  it under the terms of the GNU General Public License as published by
- *  the Free Software Foundation; either version 2 of the License, or
- *  (at your option) any later version. A runtime exception applies to
- *  this software (see LICENSE.GPL_WRE file mentioned below for details).
- *
- *  This program is distributed in the hope that it will be useful,
- *  but WITHOUT ANY WARRANTY; without even the implied warranty of
- *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
- *  GNU Library General Public License for more details.
- *
- *  Read the full text in the LICENSE.GPL_WRE file in the doc directory.
- */
-
-#ifndef __INTERFACES_METRICUNTYPEDINTERFACE_H_
-#define __INTERFACES_METRICUNTYPEDINTERFACE_H_
-
-#include <interface/interface.h>
-#include <interface/message.h>
-#include <interface/field_iterator.h>
-
-namespace fawkes {
-
-class MetricUntypedInterface : public Interface
-{
- /// @cond INTERNALS
- INTERFACE_MGMT_FRIENDS(MetricUntypedInterface)
- /// @endcond
- public:
-  /* constants */
-
- private:
-  /** Internal data storage, do NOT modify! */
-  typedef struct __attribute__((packed)) {
-    int64_t timestamp_sec;  /**< Interface Unix timestamp, seconds */
-    int64_t timestamp_usec; /**< Interface Unix timestamp, micro-seconds */
-    char labels[512]; /**< 
-                 Labels must be given as key-value pairs of the form
-                 "key=value[,key=value...]".
-          */
-    double value; /**< 
-           The counter value.
-     */
-  } MetricUntypedInterface_data_t;
-
-  MetricUntypedInterface_data_t *data;
-
- public:
-  /* messages */
-  virtual bool message_valid(const Message *message) const;
- private:
-  MetricUntypedInterface();
-  ~MetricUntypedInterface();
-
- public:
-  /* Methods */
-  char * labels() const;
-  void set_labels(const char * new_labels);
-  size_t maxlenof_labels() const;
-  double value() const;
-  void set_value(const double new_value);
-  size_t maxlenof_value() const;
-  virtual Message * create_message(const char *type) const;
-
-  virtual void copy_values(const Interface *other);
-  virtual const char * enum_tostring(const char *enumtype, int val) const;
-
-};
-
-} // end namespace fawkes
-
-#endif
diff --git a/src/plugins/metrics/interfaces/MetricUntypedInterface.tolua b/src/plugins/metrics/interfaces/MetricUntypedInterface.tolua
deleted file mode 100644 (file)
index 1a5e6a0..0000000
+++ /dev/null
@@ -1,67 +0,0 @@
-$#include <interfaces/MetricUntypedInterface.h>
-$#include <utils/time/time.h>
-$#include <utils/time/clock.h>
-$using namespace fawkes;
-namespace fawkes {
-class MetricUntypedInterface : public Interface
-{
-
-  char * labels();
-  void set_labels(const char * new_labels);
-  int maxlenof_labels() const;
-  double value();
-  void set_value(const double new_value);
-  int maxlenof_value() const;
-  bool                    oftype(const char *interface_type) const;
-  const void *            datachunk() const;
-  unsigned int            datasize() const;
-  const char *            type() const;
-  const char *            id() const;
-  const char *            uid() const;
-  unsigned int            serial() const;
-  unsigned int            mem_serial() const;
-  bool                    operator== (Interface &comp) const;
-  const unsigned char *   hash() const;
-  int                     hash_size() const;
-  const char *            hash_printable() const;
-  bool                    is_writer() const;
-  void                    set_from_chunk(void *chunk);
-  virtual fawkes::Message *  create_message @ create_message_generic(const char *type) const;
-  void          read();
-  void          write();
-  bool          has_writer() const;
-  unsigned int  num_readers() const;
-  bool          changed() const;
-  const fawkes::Time *  timestamp() const;
-  void          set_auto_timestamping(bool enabled);
-  void          set_timestamp(const fawkes::Time *t);
-  void          set_clock(fawkes::Clock *clock);
-  unsigned int  msgq_enqueue_copy(Message *message);
-  void          msgq_remove(Message *message);
-  void          msgq_remove(unsigned int message_id);
-  unsigned int  msgq_size();
-  void          msgq_flush();
-  void          msgq_lock();
-  bool          msgq_try_lock();
-  void          msgq_unlock();
-  void          msgq_pop();
-  fawkes::Message * msgq_first @ msgq_first_generic();
-  bool          msgq_empty();
-
-
-};
-
-
-$[
-
-assert(fawkes.Interface.msgq_first)
-assert(fawkes.Interface.msgq_enqueue)
-assert(fawkes.Interface.create_message)
-
-fawkes.MetricUntypedInterface.msgq_first     = fawkes.Interface.msgq_first
-fawkes.MetricUntypedInterface.msgq_enqueue   = fawkes.Interface.msgq_enqueue
-fawkes.MetricUntypedInterface.create_message = fawkes.Interface.create_message
-
-$]
-
-}