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 {