@cryptotaxi247 / netdata-1 / commits / f6a4eb18f

Windows fixes (chart labels and warnings) (#18796)

* eliminate compiler warning on windows * when a label does not exist in queries, set it to [unset]; fix windows network interface charts to have labels

Costa Tsaousis committed Oct 16, 2024 at 17:28 UTC f6a4eb18ffc691b5826a8b7c1895bc11f8844cc7
12 files changed +26 -16
src/collectors/ebpf.plugin/ebpf.c
+1 -1
@@ -1411,7 +1411,7 @@ void ebpf_send_data_aral_chart(ARAL *memory, ebpf_module_t *em)
1411 char *mem = { NETDATA_EBPF_STAT_DIMENSION_MEMORY };
1412 char *aral = { NETDATA_EBPF_STAT_DIMENSION_ARAL };
1413
1414 - struct aral_statistics *stats = aral_statistics(memory);
1414 + struct aral_statistics *stats = aral_get_statistics(memory);
1415
1416 ebpf_write_begin_chart(NETDATA_MONITORING_FAMILY, em->memory_usage, "");
1417 write_chart_dimension(mem, (long long)stats->structures.allocated_bytes);
src/collectors/windows.plugin/perflib-mssql.c
+4 -2
@@ -870,11 +870,12 @@ int dict_mssql_locks_charts_cb(const DICTIONARY_ITEM *item __maybe_unused, void
870 rrddim_set_by_pointer(mli->parent->st_deadLocks,
871 mli->rd_deadLocks,
872 (collected_number)mli->deadLocks.current.Data);
873 +
874 + return 1;
875 }
876
877 static void do_mssql_locks(PERF_DATA_BLOCK *pDataBlock, struct mssql_instance *p, int update_every)
878 {
877 - char id[RRD_ID_LENGTH_MAX + 1];
879 PERF_OBJECT_TYPE *pObjectType = perflibFindObjectTypeByName(pDataBlock, p->objectName[NETDATA_MSSQL_LOCKS]);
880 if (!pObjectType) return;
881
@@ -1250,11 +1251,12 @@ int dict_mssql_databases_charts_cb(const DICTIONARY_ITEM *item __maybe_unused, v
1251 for (i = 0; transaction_chart[i]; i++) {
1252 transaction_chart[i](mli, db, *update_every);
1253 }
1254 +
1255 + return 1;
1256 }
1257
1258 static void do_mssql_databases(PERF_DATA_BLOCK *pDataBlock, struct mssql_instance *p, int update_every)
1259 {
1257 - char id[RRD_ID_LENGTH_MAX + 1];
1260 PERF_OBJECT_TYPE *pObjectType = perflibFindObjectTypeByName(pDataBlock, p->objectName[NETDATA_MSSQL_DATABASE]);
1261 if (!pObjectType) return;
1262
src/collectors/windows.plugin/perflib-network.c
+2 -2
@@ -718,7 +718,7 @@ static bool do_network_interface(PERF_DATA_BLOCK *pDataBlock, int update_every,
718
719 rrdset_flag_set(d->packets.st, RRDSET_FLAG_DETAIL);
720
721 - add_interface_labels(d->traffic.st, windows_shared_buffer, physical);
721 + add_interface_labels(d->packets.st, windows_shared_buffer, physical);
722
723 d->packets.rd_received = rrddim_add(d->packets.st, "received", NULL, 1, 1, RRD_ALGORITHM_INCREMENTAL);
724 d->packets.rd_sent = rrddim_add(d->packets.st, "sent", NULL, -1, 1, RRD_ALGORITHM_INCREMENTAL);
@@ -748,7 +748,7 @@ static bool do_network_interface(PERF_DATA_BLOCK *pDataBlock, int update_every,
748
749 rrdset_flag_set(d->speed.st, RRDSET_FLAG_DETAIL);
750
751 - add_interface_labels(d->traffic.st, windows_shared_buffer, physical);
751 + add_interface_labels(d->speed.st, windows_shared_buffer, physical);
752
753 d->speed.rd = rrddim_add(d->speed.st, "speed", NULL, 1, BITS_IN_A_KILOBIT, RRD_ALGORITHM_ABSOLUTE);
754 }
src/daemon/winsvc.cc
+1 -1
@@ -74,7 +74,7 @@ static HANDLE CreateEventHandle(const char *msg)
74
75 if (!h)
76 {
77 - netdata_service_log(msg);
77 + netdata_service_log("%s", msg);
78
79 if (!ReportSvcStatus(SERVICE_STOPPED, GetLastError(), 1000, 0))
80 {
src/database/engine/cache.c
+2 -2
@@ -1786,7 +1786,7 @@ PGC *pgc_create(const char *name,
1786 sizeof(PGC_PAGE) + cache->config.additional_bytes_per_page,
1787 0,
1788 16384,
1789 - aral_statistics(pgc_section_pages_aral),
1789 + aral_get_statistics(pgc_section_pages_aral),
1790 NULL, NULL, false, false);
1791 }
1792 #endif
@@ -1797,7 +1797,7 @@ PGC *pgc_create(const char *name,
1797 }
1798
1799 struct aral_statistics *pgc_aral_statistics(void) {
1800 - return aral_statistics(pgc_section_pages_aral);
1800 + return aral_get_statistics(pgc_section_pages_aral);
1801 }
1802
1803 size_t pgc_aral_structures(void) {
src/database/rrdlabels.c
+6
@@ -437,6 +437,7 @@ void rrdlabels_get_value_to_buffer_or_unset(RRDLABELS *labels, BUFFER *wb, const
437 RRDLABEL *lb;
438 RRDLABEL_SRC ls;
439
440 + bool set = false;
441 lfe_start_read(labels, lb, ls)
442 {
443 if (lb->index.key == this_key) {
@@ -444,10 +445,15 @@ void rrdlabels_get_value_to_buffer_or_unset(RRDLABELS *labels, BUFFER *wb, const
445 buffer_strcat(wb, string2str(lb->index.value));
446 else
447 buffer_strcat(wb, unset);
448 + set = true;
449 break;
450 }
451 }
452 lfe_done(labels);
453 +
454 + if(!set)
455 + buffer_strcat(wb, unset);
456 +
457 string_freez(this_key);
458 }
459
src/libnetdata/aral/aral.c
+1 -1
@@ -117,7 +117,7 @@ size_t aral_structures(ARAL *ar) {
117 return aral_structures_from_stats(ar->stats);
118 }
119
120 -struct aral_statistics *aral_statistics(ARAL *ar) {
120 +struct aral_statistics *aral_get_statistics(ARAL *ar) {
121 return ar->stats;
122 }
123
src/libnetdata/aral/aral.h
+1 -1
@@ -32,7 +32,7 @@ ARAL *aral_create(const char *name, size_t element_size, size_t initial_page_ele
32 size_t aral_element_size(ARAL *ar);
33 size_t aral_overhead(ARAL *ar);
34 size_t aral_structures(ARAL *ar);
35 -struct aral_statistics *aral_statistics(ARAL *ar);
35 +struct aral_statistics *aral_get_statistics(ARAL *ar);
36 size_t aral_structures_from_stats(struct aral_statistics *stats);
37 size_t aral_overhead_from_stats(struct aral_statistics *stats);
38
src/libnetdata/socket/socket.h
+1 -1
@@ -194,7 +194,7 @@ void poll_events(LISTEN_SOCKETS *sockets
194 #define INET6_ADDRSTRLEN 46
195 #endif
196
197 -typedef struct socket_peers {
197 +typedef struct {
198 struct {
199 char ip[INET6_ADDRSTRLEN];
200 int port;
src/registry/registry.c
+4 -4
@@ -517,16 +517,16 @@ void registry_statistics(void) {
517 rrddim_add(stm, "machines_urls", NULL, 1, 1024, RRD_ALGORITHM_ABSOLUTE);
518 }
519
520 - struct aral_statistics *p_aral_stats = aral_statistics(registry.persons_aral);
520 + struct aral_statistics *p_aral_stats = aral_get_statistics(registry.persons_aral);
521 rrddim_set(stm, "persons", (collected_number)p_aral_stats->structures.allocated_bytes + (collected_number)p_aral_stats->malloc.allocated_bytes + (collected_number)p_aral_stats->mmap.allocated_bytes);
522
523 - struct aral_statistics *m_aral_stats = aral_statistics(registry.machines_aral);
523 + struct aral_statistics *m_aral_stats = aral_get_statistics(registry.machines_aral);
524 rrddim_set(stm, "machines", (collected_number)m_aral_stats->structures.allocated_bytes + (collected_number)m_aral_stats->malloc.allocated_bytes + (collected_number)m_aral_stats->mmap.allocated_bytes);
525
526 - struct aral_statistics *pu_aral_stats = aral_statistics(registry.person_urls_aral);
526 + struct aral_statistics *pu_aral_stats = aral_get_statistics(registry.person_urls_aral);
527 rrddim_set(stm, "persons_urls", (collected_number)pu_aral_stats->structures.allocated_bytes + (collected_number)pu_aral_stats->malloc.allocated_bytes + (collected_number)pu_aral_stats->mmap.allocated_bytes);
528
529 - struct aral_statistics *mu_aral_stats = aral_statistics(registry.machine_urls_aral);
529 + struct aral_statistics *mu_aral_stats = aral_get_statistics(registry.machine_urls_aral);
530 rrddim_set(stm, "machines_urls", (collected_number)mu_aral_stats->structures.allocated_bytes + (collected_number)mu_aral_stats->malloc.allocated_bytes + (collected_number)mu_aral_stats->mmap.allocated_bytes);
531
532 rrdset_done(stm);
src/streaming/rrdpush.h
+1 -1
@@ -601,7 +601,7 @@ static inline const char *rrdhost_dyncfg_status_to_string(RRDHOST_DYNCFG_STATUS
601 }
602 }
603
604 -typedef struct rrdhost_status {
604 +typedef struct {
605 RRDHOST *host;
606 time_t now;
607
src/web/api/v2/api_v2_claim.c
+2
@@ -97,6 +97,8 @@ static bool agent_can_be_claimed(void) {
97 case CLOUD_STATUS_ONLINE:
98 return false;
99 }
100 +
101 + return false;
102 }
103
104 typedef enum {