MINOR: stick-table: Add "server_name" new data type.

This simple patch only adds definitions to create a new stick-table
data type ID and a new standard type to store information in relation
wich dictionary entries (STD_T_DICT).
This commit is contained in:
Frdric Lcaille 2019-05-17 10:08:29 +02:00 committed by Willy Tarreau
parent 74167b25f7
commit 5ad57ea85f
3 changed files with 9 additions and 0 deletions

View File

@ -27,6 +27,7 @@
#include <common/ticks.h>
#include <common/time.h>
#include <types/stick_table.h>
#include <types/dict.h>
extern struct stktable *stktables_list;
@ -75,6 +76,8 @@ static inline int stktable_type_size(int type)
return sizeof(unsigned long long);
case STD_T_FRQP:
return sizeof(struct freq_ctr_period);
case STD_T_DICT:
return sizeof(struct dict_entry *);
}
return 0;
}

View File

@ -30,6 +30,7 @@
#include <ebmbtree.h>
#include <eb32tree.h>
#include <common/memory.h>
#include <types/dict.h>
#include <types/freq_ctr.h>
#include <types/peers.h>
#include <types/sample.h>
@ -55,6 +56,7 @@ enum {
STKTABLE_DT_BYTES_OUT_RATE,/* bytes rate from servers to client */
STKTABLE_DT_GPC1, /* General Purpose Counter 1 (unsigned 32-bit integer) */
STKTABLE_DT_GPC1_RATE, /* General Purpose Counter 1's event rate */
STKTABLE_DT_SERVER_NAME, /* The server name */
STKTABLE_STATIC_DATA_TYPES,/* number of types above */
/* up to STKTABLE_EXTRA_DATA_TYPES types may be registered here, always
* followed by the number of data types, must always be last.
@ -68,6 +70,7 @@ enum {
STD_T_UINT, /* data is of type unsigned int */
STD_T_ULL, /* data is of type unsigned long long */
STD_T_FRQP, /* data is of type freq_ctr_period */
STD_T_DICT, /* data is of type key of dictionary entry */
};
/* The types of optional arguments to stored data */
@ -84,9 +87,11 @@ union stktable_data {
unsigned int std_t_uint;
unsigned long long std_t_ull;
struct freq_ctr_period std_t_frqp;
struct dict_entry *std_t_dict;
/* types of each storable data */
int server_id;
struct dict_entry *server_name;
unsigned int gpt0;
unsigned int gpc0;
struct freq_ctr_period gpc0_rate;

View File

@ -1036,6 +1036,7 @@ struct stktable_data_type stktable_data_types[STKTABLE_DATA_TYPES] = {
[STKTABLE_DT_BYTES_OUT_RATE]= { .name = "bytes_out_rate", .std_type = STD_T_FRQP, .arg_type = ARG_T_DELAY },
[STKTABLE_DT_GPC1] = { .name = "gpc1", .std_type = STD_T_UINT },
[STKTABLE_DT_GPC1_RATE] = { .name = "gpc1_rate", .std_type = STD_T_FRQP, .arg_type = ARG_T_DELAY },
[STKTABLE_DT_SERVER_NAME] = { .name = "server_name", .std_type = STD_T_DICT },
};
/* Registers stick-table extra data type with index <idx>, name <name>, type