Remove tags field from RRD hosts. (#16894)
* Remove tags field from RRD hosts. My understanding is that this field has been deprecated in favour of RRD labels. * Remove unused config
vkalintiris committed
Feb 6, 2024 at 22:48 UTC
b0bbaff33d526518274d4f8801c7982753119cad
13 files changed
+21
-107
collectors/plugins.d/pluginsd_parser.c
-1
@@ -184,7 +184,6 @@ static inline PARSER_RC pluginsd_host_define_end(char **words __maybe_unused, si
184
netdata_configured_timezone,
185
netdata_configured_abbrev_timezone,
186
netdata_configured_utc_offset,
187
- NULL,
187
program_name,
188
program_version,
189
default_rrd_update_every,
src/daemon/unit_test.c
-1
@@ -1831,7 +1831,6 @@ static RRDHOST *dbengine_rrdhost_find_or_create(char *name)
1831
netdata_configured_timezone,
1832
netdata_configured_abbrev_timezone,
1833
netdata_configured_utc_offset,
1834
- "",
1834
program_name,
1835
program_version,
1836
default_rrd_update_every,
src/database/rrd.h
+1
-3
@@ -1151,7 +1151,6 @@ struct rrdhost {
1151
STRING *hostname; // the hostname of this host
1152
STRING *registry_hostname; // the registry hostname for this host
1153
STRING *os; // the O/S type of the host
1154
- STRING *tags; // tags for this host
1154
STRING *timezone; // the timezone of the host
1155
STRING *abbrev_timezone; // the abbriviated timezone of the host
1156
STRING *program_name; // the program name that collects metrics for this host
@@ -1388,7 +1387,6 @@ RRDHOST *rrdhost_find_or_create(
1387
const char *timezone,
1388
const char *abbrev_timezone,
1389
int32_t utc_offset,
1391
- const char *tags,
1390
const char *prog_name,
1391
const char *prog_version,
1392
int update_every,
@@ -1580,7 +1578,7 @@ void rrdset_reset(RRDSET *st);
1578
1579
void set_host_properties(
1580
RRDHOST *host, int update_every, RRD_MEMORY_MODE memory_mode, const char *registry_hostname,
1583
- const char *os, const char *tags, const char *tzone, const char *abbrev_tzone, int32_t utc_offset,
1581
+ const char *os, const char *tzone, const char *abbrev_tzone, int32_t utc_offset,
1582
const char *prog_name, const char *prog_version);
1583
1584
size_t get_tier_grouping(size_t tier);
src/database/rrdhost.c
+9
-31
@@ -178,15 +178,6 @@ static inline RRDHOST *rrdhost_index_add_hostname(RRDHOST *host) {
178
// ----------------------------------------------------------------------------
179
// RRDHOST - internal helpers
180
181
-static inline void rrdhost_init_tags(RRDHOST *host, const char *tags) {
182
- if(host->tags && tags && !strcmp(rrdhost_tags(host), tags))
183
- return;
184
-
185
- STRING *old = host->tags;
186
- host->tags = string_strdupz((tags && *tags)?tags:NULL);
187
- string_freez(old);
188
-}
189
-
181
static inline void rrdhost_init_hostname(RRDHOST *host, const char *hostname, bool add_to_index) {
182
if(unlikely(hostname && !*hostname)) hostname = NULL;
183
@@ -229,8 +220,8 @@ static inline void rrdhost_init_timezone(RRDHOST *host, const char *timezone, co
220
}
221
222
void set_host_properties(RRDHOST *host, int update_every, RRD_MEMORY_MODE memory_mode,
232
- const char *registry_hostname, const char *os, const char *tags,
233
- const char *tzone, const char *abbrev_tzone, int32_t utc_offset, const char *prog_name,
223
+ const char *registry_hostname, const char *os, const char *tzone,
224
+ const char *abbrev_tzone, int32_t utc_offset, const char *prog_name,
225
const char *prog_version)
226
{
227
@@ -239,7 +230,6 @@ void set_host_properties(RRDHOST *host, int update_every, RRD_MEMORY_MODE memory
230
231
rrdhost_init_os(host, os);
232
rrdhost_init_timezone(host, tzone, abbrev_tzone, utc_offset);
242
- rrdhost_init_tags(host, tags);
233
234
host->program_name = string_strdupz((prog_name && *prog_name) ? prog_name : "unknown");
235
host->program_version = string_strdupz((prog_version && *prog_version) ? prog_version : "unknown");
@@ -287,7 +277,6 @@ static RRDHOST *rrdhost_create(
277
const char *timezone,
278
const char *abbrev_timezone,
279
int32_t utc_offset,
290
- const char *tags,
280
const char *prog_name,
281
const char *prog_version,
282
int update_every,
@@ -326,7 +315,7 @@ int is_legacy = 1;
315
strncpyz(host->machine_guid, guid, GUID_LEN + 1);
316
317
set_host_properties(host, (update_every > 0)?update_every:1, memory_mode, registry_hostname, os,
329
- tags, timezone, abbrev_timezone, utc_offset,
318
+ timezone, abbrev_timezone, utc_offset,
319
prog_name,
320
prog_version);
321
@@ -539,7 +528,6 @@ int is_legacy = 1;
528
"Host '%s' (at registry as '%s') with guid '%s' initialized"
529
", os '%s'"
530
", timezone '%s'"
542
- ", tags '%s'"
531
", program_name '%s'"
532
", program_version '%s'"
533
", update every %d"
@@ -556,7 +544,6 @@ int is_legacy = 1;
544
, host->machine_guid
545
, rrdhost_os(host)
546
, rrdhost_timezone(host)
559
- , rrdhost_tags(host)
547
, rrdhost_program_name(host)
548
, rrdhost_program_version(host)
549
, host->rrd_update_every
@@ -590,7 +577,6 @@ static void rrdhost_update(RRDHOST *host
577
, const char *timezone
578
, const char *abbrev_timezone
579
, int32_t utc_offset
593
- , const char *tags
580
, const char *prog_name
581
, const char *prog_version
582
, int update_every
@@ -680,9 +666,6 @@ static void rrdhost_update(RRDHOST *host
666
host->rrd_history_entries,
667
history);
668
683
- // update host tags
684
- rrdhost_init_tags(host, tags);
685
-
669
if(!host->rrdvars)
670
host->rrdvars = rrdvariables_create();
671
@@ -734,7 +717,6 @@ RRDHOST *rrdhost_find_or_create(
717
, const char *timezone
718
, const char *abbrev_timezone
719
, int32_t utc_offset
737
- , const char *tags
720
, const char *prog_name
721
, const char *prog_version
722
, int update_every
@@ -779,10 +761,9 @@ RRDHOST *rrdhost_find_or_create(
761
, timezone
762
, abbrev_timezone
763
, utc_offset
782
- , tags
783
- ,
784
- prog_name,
785
- prog_version, update_every
764
+ , prog_name
765
+ , prog_version
766
+ , update_every
767
, history
768
, mode
769
, health_enabled
@@ -808,10 +789,9 @@ RRDHOST *rrdhost_find_or_create(
789
, timezone
790
, abbrev_timezone
791
, utc_offset
811
- , tags
812
- ,
813
- prog_name,
814
- prog_version, update_every
792
+ , prog_name
793
+ , prog_version
794
+ , update_every
795
, history
796
, mode
797
, health_enabled
@@ -1087,7 +1067,6 @@ int rrd_init(char *hostname, struct rrdhost_system_info *system_info, bool unitt
1067
, netdata_configured_timezone
1068
, netdata_configured_abbrev_timezone
1069
, netdata_configured_utc_offset
1090
- , ""
1070
, program_name
1071
, program_version
1072
, default_rrd_update_every
@@ -1307,7 +1286,6 @@ void rrdhost_free___while_having_rrd_wrlock(RRDHOST *host, bool force) {
1286
pthread_mutex_destroy(&host->aclk_state_lock);
1287
freez(host->aclk_state.claimed_id);
1288
freez(host->aclk_state.prev_claimed_id);
1310
- string_freez(host->tags);
1289
rrdlabels_destroy(host->rrdlabels);
1290
string_freez(host->os);
1291
string_freez(host->timezone);
src/database/sqlite/sqlite_aclk.c
+2
-4
@@ -61,7 +61,6 @@ enum {
61
IDX_UPDATE_EVERY,
62
IDX_OS,
63
IDX_TIMEZONE,
64
- IDX_TAGS,
64
IDX_HOPS,
65
IDX_MEMORY_MODE,
66
IDX_ABBREV_TIMEZONE,
@@ -120,7 +119,6 @@ static int create_host_callback(void *data, int argc, char **argv, char **column
119
(const char *)argv[IDX_TIMEZONE],
120
(const char *)argv[IDX_ABBREV_TIMEZONE],
121
(int32_t)(argv[IDX_UTC_OFFSET] ? str2uint32_t(argv[IDX_UTC_OFFSET], NULL) : 0),
123
- (const char *)argv[IDX_TAGS],
122
(const char *)(argv[IDX_PROGRAM_NAME] ? argv[IDX_PROGRAM_NAME] : "unknown"),
123
(const char *)(argv[IDX_PROGRAM_VERSION] ? argv[IDX_PROGRAM_VERSION] : "unknown"),
124
argv[IDX_UPDATE_EVERY] ? str2i(argv[IDX_UPDATE_EVERY]) : 1,
@@ -557,7 +555,7 @@ void sql_create_aclk_table(RRDHOST *host __maybe_unused, uuid_t *host_uuid __may
555
556
#define SQL_FETCH_ALL_HOSTS \
557
"SELECT host_id, hostname, registry_hostname, update_every, os, " \
560
- "timezone, tags, hops, memory_mode, abbrev_timezone, utc_offset, program_name, " \
558
+ "timezone, hops, memory_mode, abbrev_timezone, utc_offset, program_name, " \
559
"program_version, entries, health_enabled, last_connected, " \
560
"(SELECT CASE WHEN hl.label_value = 'true' THEN 1 ELSE 0 END FROM " \
561
"host_label hl WHERE hl.host_id = h.host_id AND hl.label_key = '_is_ephemeral') " \
@@ -675,4 +673,4 @@ void unregister_node(const char *machine_guid)
673
cmd.completion = NULL;
674
aclk_database_enq_cmd(&cmd);
675
}
678
-#endif
\ No newline at end of file
676
+#endif
src/database/sqlite/sqlite_metadata.c
+2
-1
@@ -354,7 +354,8 @@ static int store_host_metadata(RRDHOST *host)
354
if (unlikely(rc != SQLITE_OK))
355
goto bind_fail;
356
357
- rc = bind_text_null(res, ++param, rrdhost_tags(host), 1);
357
+ // TODO: remove/migrate
358
+ rc = bind_text_null(res, ++param, "", 1);
359
if (unlikely(rc != SQLITE_OK))
360
goto bind_fail;
361
src/exporting/graphite/graphite.c
+2
-6
@@ -133,13 +133,11 @@ int format_dimension_collected_graphite_plaintext(struct instance *instance, RRD
133
134
buffer_sprintf(
135
instance->buffer,
136
- "%s.%s.%s.%s%s%s%s " COLLECTED_NUMBER_FORMAT " %llu\n",
136
+ "%s.%s.%s.%s%s " COLLECTED_NUMBER_FORMAT " %llu\n",
137
instance->config.prefix,
138
(host == localhost) ? instance->config.hostname : rrdhost_hostname(host),
139
chart_name,
140
dimension_name,
141
- (host->tags) ? ";" : "",
142
- (host->tags) ? rrdhost_tags(host) : "",
141
(instance->labels_buffer) ? buffer_tostring(instance->labels_buffer) : "",
142
rd->collector.last_collected_value,
143
(unsigned long long)rd->collector.last_collected_time.tv_sec);
@@ -179,13 +177,11 @@ int format_dimension_stored_graphite_plaintext(struct instance *instance, RRDDIM
177
178
buffer_sprintf(
179
instance->buffer,
182
- "%s.%s.%s.%s%s%s%s " NETDATA_DOUBLE_FORMAT " %llu\n",
180
+ "%s.%s.%s.%s%s " NETDATA_DOUBLE_FORMAT " %llu\n",
181
instance->config.prefix,
182
(host == localhost) ? instance->config.hostname : rrdhost_hostname(host),
183
chart_name,
184
dimension_name,
187
- (host->tags) ? ";" : "",
188
- (host->tags) ? rrdhost_tags(host) : "",
185
(instance->labels_buffer) ? buffer_tostring(instance->labels_buffer) : "",
186
value,
187
(unsigned long long)last_t);
src/exporting/json/json.c
-36
@@ -144,20 +144,6 @@ int format_dimension_collected_json_plaintext(struct instance *instance, RRDDIM
144
RRDSET *st = rd->rrdset;
145
RRDHOST *host = st->rrdhost;
146
147
- const char *tags_pre = "", *tags_post = "", *tags = rrdhost_tags(host);
148
- if (!tags)
149
- tags = "";
150
-
151
- if (*tags) {
152
- if (*tags == '{' || *tags == '[' || *tags == '"') {
153
- tags_pre = "\"host_tags\":";
154
- tags_post = ",";
155
- } else {
156
- tags_pre = "\"host_tags\":\"";
157
- tags_post = "\",";
158
- }
159
- }
160
-
147
if (instance->config.type == EXPORTING_CONNECTOR_TYPE_JSON_HTTP) {
148
if (buffer_strlen((BUFFER *)instance->buffer) > 2)
149
buffer_strcat(instance->buffer, ",\n");
@@ -169,7 +155,6 @@ int format_dimension_collected_json_plaintext(struct instance *instance, RRDDIM
155
"{"
156
"\"prefix\":\"%s\","
157
"\"hostname\":\"%s\","
172
- "%s%s%s"
158
"%s"
159
160
"\"chart_id\":\"%s\","
@@ -187,9 +172,6 @@ int format_dimension_collected_json_plaintext(struct instance *instance, RRDDIM
172
173
instance->config.prefix,
174
(host == localhost) ? instance->config.hostname : rrdhost_hostname(host),
190
- tags_pre,
191
- tags,
192
- tags_post,
175
instance->labels_buffer ? buffer_tostring(instance->labels_buffer) : "",
176
177
rrdset_id(st),
@@ -229,20 +211,6 @@ int format_dimension_stored_json_plaintext(struct instance *instance, RRDDIM *rd
211
if(isnan(value))
212
return 0;
213
232
- const char *tags_pre = "", *tags_post = "", *tags = rrdhost_tags(host);
233
- if (!tags)
234
- tags = "";
235
-
236
- if (*tags) {
237
- if (*tags == '{' || *tags == '[' || *tags == '"') {
238
- tags_pre = "\"host_tags\":";
239
- tags_post = ",";
240
- } else {
241
- tags_pre = "\"host_tags\":\"";
242
- tags_post = "\",";
243
- }
244
- }
245
-
214
if (instance->config.type == EXPORTING_CONNECTOR_TYPE_JSON_HTTP) {
215
if (buffer_strlen((BUFFER *)instance->buffer) > 2)
216
buffer_strcat(instance->buffer, ",\n");
@@ -253,7 +221,6 @@ int format_dimension_stored_json_plaintext(struct instance *instance, RRDDIM *rd
221
"{"
222
"\"prefix\":\"%s\","
223
"\"hostname\":\"%s\","
256
- "%s%s%s"
224
"%s"
225
226
"\"chart_id\":\"%s\","
@@ -271,9 +238,6 @@ int format_dimension_stored_json_plaintext(struct instance *instance, RRDDIM *rd
238
239
instance->config.prefix,
240
(host == localhost) ? instance->config.hostname : rrdhost_hostname(host),
274
- tags_pre,
275
- tags,
276
- tags_post,
241
instance->labels_buffer ? buffer_tostring(instance->labels_buffer) : "",
242
243
rrdset_id(st),
src/exporting/opentsdb/opentsdb.c
+4
-12
@@ -186,15 +186,13 @@ int format_dimension_collected_opentsdb_telnet(struct instance *instance, RRDDIM
186
187
buffer_sprintf(
188
instance->buffer,
189
- "put %s.%s.%s %llu " COLLECTED_NUMBER_FORMAT " host=%s%s%s%s\n",
189
+ "put %s.%s.%s %llu " COLLECTED_NUMBER_FORMAT " host=%s%s\n",
190
instance->config.prefix,
191
chart_name,
192
dimension_name,
193
(unsigned long long)rd->collector.last_collected_time.tv_sec,
194
rd->collector.last_collected_value,
195
(host == localhost) ? instance->config.hostname : rrdhost_hostname(host),
196
- (host->tags) ? " " : "",
197
- (host->tags) ? rrdhost_tags(host) : "",
196
(instance->labels_buffer) ? buffer_tostring(instance->labels_buffer) : "");
197
198
return 0;
@@ -232,15 +230,13 @@ int format_dimension_stored_opentsdb_telnet(struct instance *instance, RRDDIM *r
230
231
buffer_sprintf(
232
instance->buffer,
235
- "put %s.%s.%s %llu " NETDATA_DOUBLE_FORMAT " host=%s%s%s%s\n",
233
+ "put %s.%s.%s %llu " NETDATA_DOUBLE_FORMAT " host=%s%s\n",
234
instance->config.prefix,
235
chart_name,
236
dimension_name,
237
(unsigned long long)last_t,
238
value,
239
(host == localhost) ? instance->config.hostname : rrdhost_hostname(host),
242
- (host->tags) ? " " : "",
243
- (host->tags) ? rrdhost_tags(host) : "",
240
(instance->labels_buffer) ? buffer_tostring(instance->labels_buffer) : "");
241
242
return 0;
@@ -326,7 +322,7 @@ int format_dimension_collected_opentsdb_http(struct instance *instance, RRDDIM *
322
"\"timestamp\":%llu,"
323
"\"value\":"COLLECTED_NUMBER_FORMAT","
324
"\"tags\":{"
329
- "\"host\":\"%s%s%s\"%s"
325
+ "\"host\":\"%s\"%s"
326
"}"
327
"}",
328
instance->config.prefix,
@@ -335,8 +331,6 @@ int format_dimension_collected_opentsdb_http(struct instance *instance, RRDDIM *
331
(unsigned long long)rd->collector.last_collected_time.tv_sec,
332
rd->collector.last_collected_value,
333
(host == localhost) ? instance->config.hostname : rrdhost_hostname(host),
338
- (host->tags) ? " " : "",
339
- (host->tags) ? rrdhost_tags(host) : "",
334
instance->labels_buffer ? buffer_tostring(instance->labels_buffer) : "");
335
336
return 0;
@@ -382,7 +376,7 @@ int format_dimension_stored_opentsdb_http(struct instance *instance, RRDDIM *rd)
376
"\"timestamp\":%llu,"
377
"\"value\":" NETDATA_DOUBLE_FORMAT ","
378
"\"tags\":{"
385
- "\"host\":\"%s%s%s\"%s"
379
+ "\"host\":\"%s\"%s"
380
"}"
381
"}",
382
instance->config.prefix,
@@ -391,8 +385,6 @@ int format_dimension_stored_opentsdb_http(struct instance *instance, RRDDIM *rd)
385
(unsigned long long)last_t,
386
value,
387
(host == localhost) ? instance->config.hostname : rrdhost_hostname(host),
394
- (host->tags) ? " " : "",
395
- (host->tags) ? rrdhost_tags(host) : "",
388
instance->labels_buffer ? buffer_tostring(instance->labels_buffer) : "");
389
390
return 0;
src/streaming/receiver.c
+1
-6
@@ -14,7 +14,6 @@ void receiver_state_free(struct receiver_state *rpt) {
14
freez(rpt->os);
15
freez(rpt->timezone);
16
freez(rpt->abbrev_timezone);
17
- freez(rpt->tags);
17
freez(rpt->client_ip);
18
freez(rpt->client_port);
19
freez(rpt->program_name);
@@ -628,8 +627,6 @@ static void rrdpush_receive(struct receiver_state *rpt)
627
rrdpush_parse_compression_order(rpt, order);
628
}
629
631
- (void)appconfig_set_default(&stream_config, rpt->machine_guid, "host tags", (rpt->tags)?rpt->tags:"");
632
-
630
// find the host for this receiver
631
{
632
// this will also update the host with our system_info
@@ -641,7 +638,6 @@ static void rrdpush_receive(struct receiver_state *rpt)
638
rpt->timezone,
639
rpt->abbrev_timezone,
640
rpt->utc_offset,
644
- rpt->tags,
641
rpt->program_name,
642
rpt->program_version,
643
rpt->config.update_every,
@@ -694,7 +690,7 @@ static void rrdpush_receive(struct receiver_state *rpt)
690
#ifdef NETDATA_INTERNAL_CHECKS
691
netdata_log_info("STREAM '%s' [receive from [%s]:%s]: "
692
"client willing to stream metrics for host '%s' with machine_guid '%s': "
697
- "update every = %d, history = %d, memory mode = %s, health %s,%s tags '%s'"
693
+ "update every = %d, history = %d, memory mode = %s, health %s,%s"
694
, rpt->hostname
695
, rpt->client_ip
696
, rpt->client_port
@@ -709,7 +705,6 @@ static void rrdpush_receive(struct receiver_state *rpt)
705
#else
706
, ""
707
#endif
712
- , rrdhost_tags(rpt->host)
708
);
709
#endif // NETDATA_INTERNAL_CHECKS
710
src/streaming/rrdpush.c
-3
@@ -875,9 +875,6 @@ int rrdpush_receiver_thread_spawn(struct web_client *w, char *decoded_query_stri
875
else if(!strcmp(name, "mc_version"))
876
rpt->system_info->mc_version = strtoul(value, NULL, 0);
877
878
- else if(!strcmp(name, "tags") && !rpt->tags)
879
- rpt->tags = strdupz(value);
880
-
878
else if(!strcmp(name, "ver") && (rpt->capabilities & STREAM_CAP_INVALID))
879
rpt->capabilities = convert_stream_version_to_capabilities(strtoul(value, NULL, 0), NULL, false);
880
src/streaming/rrdpush.h
-1
@@ -347,7 +347,6 @@ struct receiver_state {
347
char *timezone; // Unused?
348
char *abbrev_timezone;
349
int32_t utc_offset;
350
- char *tags;
350
char *client_ip; // Duplicated in pluginsd
351
char *client_port; // Duplicated in pluginsd
352
char *program_name; // Duplicated in pluginsd
src/streaming/sender.c
-2
@@ -786,7 +786,6 @@ static bool rrdpush_sender_thread_connect_to_parent(RRDHOST *host, int default_p
786
"&ml_capable=%d"
787
"&ml_enabled=%d"
788
"&mc_version=%d"
789
- "&tags=%s"
789
"&ver=%u"
790
"&NETDATA_INSTANCE_CLOUD_TYPE=%s"
791
"&NETDATA_INSTANCE_CLOUD_INSTANCE_TYPE=%s"
@@ -832,7 +831,6 @@ static bool rrdpush_sender_thread_connect_to_parent(RRDHOST *host, int default_p
831
, host->system_info->ml_capable
832
, host->system_info->ml_enabled
833
, host->system_info->mc_version
835
- , rrdhost_tags(host)
834
, s->capabilities
835
, (host->system_info->cloud_provider_type) ? host->system_info->cloud_provider_type : ""
836
, (host->system_info->cloud_instance_type) ? host->system_info->cloud_instance_type : ""