@cryptotaxi247 / netdata-1 / commits / 17f5199bf

Format code - MSSQL (windows.plugin) (#21256)

thiagoftsm committed Nov 3, 2025 at 12:22 UTC 17f5199bf44eee03b9b80bfe0f95ec51c70c8bcb
1 file changed +259 -230
src/collectors/windows.plugin/perflib-mssql.c
+259 -230
@@ -379,31 +379,41 @@ void dict_mssql_fill_instance_transactions(struct mssql_db_instance *mdi)
379
380 SQLCHAR query[sizeof(NETDATA_QUERY_TRANSACTIONS_PER_INSTANCE_MASK) + NETDATA_MAX_INSTANCE_OBJECT + 1];
381 snprintfz(
382 - (char *)query,
383 - sizeof(NETDATA_QUERY_TRANSACTIONS_PER_INSTANCE_MASK) + NETDATA_MAX_INSTANCE_OBJECT,
384 - NETDATA_QUERY_TRANSACTIONS_PER_INSTANCE_MASK,
385 - mdi->parent->instanceID);
382 + (char *)query,
383 + sizeof(NETDATA_QUERY_TRANSACTIONS_PER_INSTANCE_MASK) + NETDATA_MAX_INSTANCE_OBJECT,
384 + NETDATA_QUERY_TRANSACTIONS_PER_INSTANCE_MASK,
385 + mdi->parent->instanceID);
386
387 SQLRETURN ret = SQLExecDirect(mdi->parent->conn->dbInstanceTransactionSTMT, (SQLCHAR *)query, SQL_NTS);
388 if (ret != SQL_SUCCESS) {
389 mdi->collecting_data = false;
390 netdata_MSSQL_error(
391 - SQL_HANDLE_STMT, mdi->parent->conn->dbInstanceTransactionSTMT, NETDATA_MSSQL_ODBC_QUERY, mdi->parent->instanceID);
391 + SQL_HANDLE_STMT,
392 + mdi->parent->conn->dbInstanceTransactionSTMT,
393 + NETDATA_MSSQL_ODBC_QUERY,
394 + mdi->parent->instanceID);
395 goto enditransactions;
396 }
397
398 ret = SQLBindCol(
396 - mdi->parent->conn->dbInstanceTransactionSTMT, 1, SQL_C_CHAR, object_name, sizeof(object_name), &col_object_len);
399 + mdi->parent->conn->dbInstanceTransactionSTMT, 1, SQL_C_CHAR, object_name, sizeof(object_name), &col_object_len);
400 if (ret != SQL_SUCCESS) {
401 netdata_MSSQL_error(
399 - SQL_HANDLE_STMT, mdi->parent->conn->dbInstanceTransactionSTMT, NETDATA_MSSQL_ODBC_PREPARE, mdi->parent->instanceID);
402 + SQL_HANDLE_STMT,
403 + mdi->parent->conn->dbInstanceTransactionSTMT,
404 + NETDATA_MSSQL_ODBC_PREPARE,
405 + mdi->parent->instanceID);
406 goto enditransactions;
407 }
408
403 - ret = SQLBindCol(mdi->parent->conn->dbInstanceTransactionSTMT, 2, SQL_C_LONG, &value, sizeof(value), &col_value_len);
409 + ret =
410 + SQLBindCol(mdi->parent->conn->dbInstanceTransactionSTMT, 2, SQL_C_LONG, &value, sizeof(value), &col_value_len);
411 if (ret != SQL_SUCCESS) {
412 netdata_MSSQL_error(
406 - SQL_HANDLE_STMT, mdi->parent->conn->dbInstanceTransactionSTMT, NETDATA_MSSQL_ODBC_PREPARE, mdi->parent->instanceID);
413 + SQL_HANDLE_STMT,
414 + mdi->parent->conn->dbInstanceTransactionSTMT,
415 + NETDATA_MSSQL_ODBC_PREPARE,
416 + mdi->parent->instanceID);
417 goto enditransactions;
418 }
419
@@ -423,32 +433,48 @@ void dict_mssql_fill_instance_transactions(struct mssql_db_instance *mdi)
433 object_name, NETDATA_MSSQL_BUFFER_PAGE_READS_METRIC, sizeof(NETDATA_MSSQL_BUFFER_PAGE_READS_METRIC) - 1))
434 mdi->MSSQLBufferPageReads.current.Data = (ULONGLONG)value;
435 else if (!strncmp(
426 - object_name, NETDATA_MSSQL_BUFFER_PAGE_WRITES_METRIC, sizeof(NETDATA_MSSQL_BUFFER_PAGE_WRITES_METRIC) - 1))
436 + object_name,
437 + NETDATA_MSSQL_BUFFER_PAGE_WRITES_METRIC,
438 + sizeof(NETDATA_MSSQL_BUFFER_PAGE_WRITES_METRIC) - 1))
439 mdi->MSSQLBufferPageWrites.current.Data = (ULONGLONG)value;
440 else if (!strncmp(
429 - object_name, NETDATA_MSSQL_BUFFER_PAGE_CACHE_METRIC, sizeof(NETDATA_MSSQL_BUFFER_PAGE_CACHE_METRIC) - 1))
441 + object_name,
442 + NETDATA_MSSQL_BUFFER_PAGE_CACHE_METRIC,
443 + sizeof(NETDATA_MSSQL_BUFFER_PAGE_CACHE_METRIC) - 1))
444 mdi->MSSQLBufferCacheHits.current.Data = (ULONGLONG)value;
445 else if (!strncmp(
432 - object_name, NETDATA_MSSQL_BUFFER_CHECKPOINT_METRIC, sizeof(NETDATA_MSSQL_BUFFER_CHECKPOINT_METRIC) - 1))
446 + object_name,
447 + NETDATA_MSSQL_BUFFER_CHECKPOINT_METRIC,
448 + sizeof(NETDATA_MSSQL_BUFFER_CHECKPOINT_METRIC) - 1))
449 mdi->MSSQLBufferCheckpointPages.current.Data = (ULONGLONG)value;
450 else if (!strncmp(
435 - object_name, NETDATA_MSSQL_BUFFER_PAGE_LIFE_METRIC, sizeof(NETDATA_MSSQL_BUFFER_PAGE_LIFE_METRIC) - 1))
451 + object_name,
452 + NETDATA_MSSQL_BUFFER_PAGE_LIFE_METRIC,
453 + sizeof(NETDATA_MSSQL_BUFFER_PAGE_LIFE_METRIC) - 1))
454 mdi->MSSQLBufferPageLifeExpectancy.current.Data = (ULONGLONG)value;
455 else if (!strncmp(
438 - object_name, NETDATA_MSSQL_BUFFER_LAZY_WRITES_METRIC, sizeof(NETDATA_MSSQL_BUFFER_LAZY_WRITES_METRIC) - 1))
456 + object_name,
457 + NETDATA_MSSQL_BUFFER_LAZY_WRITES_METRIC,
458 + sizeof(NETDATA_MSSQL_BUFFER_LAZY_WRITES_METRIC) - 1))
459 mdi->MSSQLBufferLazyWrite.current.Data = (ULONGLONG)value;
460 else if (!strncmp(
441 - object_name, NETDATA_MSSQL_BUFFER_PAGE_LOOKUPS_METRIC, sizeof(NETDATA_MSSQL_BUFFER_PAGE_LOOKUPS_METRIC) - 1))
461 + object_name,
462 + NETDATA_MSSQL_BUFFER_PAGE_LOOKUPS_METRIC,
463 + sizeof(NETDATA_MSSQL_BUFFER_PAGE_LOOKUPS_METRIC) - 1))
464 mdi->MSSQLBufferPageLookups.current.Data = (ULONGLONG)value;
465 else if (!strncmp(
444 - object_name, NETDATA_MSSQL_STATS_COMPILATIONS_METRIC, sizeof(NETDATA_MSSQL_STATS_COMPILATIONS_METRIC) - 1))
466 + object_name,
467 + NETDATA_MSSQL_STATS_COMPILATIONS_METRIC,
468 + sizeof(NETDATA_MSSQL_STATS_COMPILATIONS_METRIC) - 1))
469 mdi->MSSQLCompilations.current.Data = (ULONGLONG)value;
470 else if (!strncmp(
447 - object_name, NETDATA_MSSQL_STATS_RECOMPILATIONS_METRIC, sizeof(NETDATA_MSSQL_STATS_RECOMPILATIONS_METRIC) - 1))
471 + object_name,
472 + NETDATA_MSSQL_STATS_RECOMPILATIONS_METRIC,
473 + sizeof(NETDATA_MSSQL_STATS_RECOMPILATIONS_METRIC) - 1))
474 mdi->MSSQLRecompilations.current.Data = (ULONGLONG)value;
475 } while (true);
476
451 - enditransactions:
477 +enditransactions:
478 netdata_MSSQL_release_results(mdi->parent->conn->dbInstanceTransactionSTMT);
479 }
480
@@ -1065,7 +1091,7 @@ static void initialize_mssql_objects(struct mssql_instance *mi, const char *inst
1091 if (mi->conn)
1092 mi->conn->is_sqlexpress = true;
1093 } else {
1068 - char *express = (mi->conn && mi->conn->is_sqlexpress) ? "SQLEXPRESS:": "";
1094 + char *express = (mi->conn && mi->conn->is_sqlexpress) ? "SQLEXPRESS:" : "";
1095 snprintfz(prefix, sizeof(prefix) - 1, "MSSQL$%s%s:", express, instance);
1096 }
1097
@@ -1225,7 +1251,11 @@ static void netdata_read_config_options()
1251 const char *instance = inicfg_get(&netdata_config, section_name, "instance", NULL);
1252 int additional_instances = (int)inicfg_get_number(&netdata_config, section_name, "additional instances", 0);
1253 if (!instance || strlen(instance) > NETDATA_MAX_INSTANCE_OBJECT) {
1228 - nd_log(NDLS_COLLECTORS, NDLP_ERR, "You must specify a valid 'instance' name to collect data from database in section %s.", section_name);
1254 + nd_log(
1255 + NDLS_COLLECTORS,
1256 + NDLP_ERR,
1257 + "You must specify a valid 'instance' name to collect data from database in section %s.",
1258 + section_name);
1259 continue;
1260 }
1261
@@ -1311,7 +1341,7 @@ void dict_mssql_insert_cb(const DICTIONARY_ITEM *item __maybe_unused, void *valu
1341
1342 if (!mi->sysjobs) {
1343 mi->sysjobs = dictionary_create_advanced(
1314 - DICT_OPTION_DONT_OVERWRITE_VALUE | DICT_OPTION_FIXED_SIZE, NULL, sizeof(struct mssql_db_jobs));
1344 + DICT_OPTION_DONT_OVERWRITE_VALUE | DICT_OPTION_FIXED_SIZE, NULL, sizeof(struct mssql_db_jobs));
1345 dictionary_register_insert_callback(mi->sysjobs, dict_mssql_insert_jobs_cb, NULL);
1346 }
1347
@@ -1450,7 +1480,8 @@ static int initialize(int update_every)
1480 mssql_fill_dictionary(update_every);
1481
1482 if (create_thread)
1453 - mssql_queries_thread = nd_thread_create("mssql_queries", NETDATA_THREAD_OPTION_DEFAULT, netdata_mssql_queries, &update_every);
1483 + mssql_queries_thread =
1484 + nd_thread_create("mssql_queries", NETDATA_THREAD_OPTION_DEFAULT, netdata_mssql_queries, &update_every);
1485
1486 return 0;
1487 }
@@ -2010,30 +2041,30 @@ void mssql_buffman_iops_chart(struct mssql_db_instance *mdi, struct mssql_instan
2041 snprintfz(id, RRD_ID_LENGTH_MAX, "instance_%s_bufman_iops", mi->instanceID);
2042 netdata_fix_chart_name(id);
2043 mdi->st_buff_page_iops = rrdset_create_localhost(
2013 - "mssql",
2014 - id,
2015 - NULL,
2016 - "buffer cache",
2017 - "mssql.instance_bufman_iops",
2018 - "Number of pages input and output",
2019 - "pages/s",
2020 - PLUGIN_WINDOWS_NAME,
2021 - "PerflibMSSQL",
2022 - PRIO_MSSQL_BUFF_MAN_IOPS,
2023 - mi->update_every,
2024 - RRDSET_TYPE_LINE);
2044 + "mssql",
2045 + id,
2046 + NULL,
2047 + "buffer cache",
2048 + "mssql.instance_bufman_iops",
2049 + "Number of pages input and output",
2050 + "pages/s",
2051 + PLUGIN_WINDOWS_NAME,
2052 + "PerflibMSSQL",
2053 + PRIO_MSSQL_BUFF_MAN_IOPS,
2054 + mi->update_every,
2055 + RRDSET_TYPE_LINE);
2056
2057 mdi->rd_buff_page_reads = rrddim_add(mdi->st_buff_page_iops, "read", NULL, 1, 1, RRD_ALGORITHM_INCREMENTAL);
2058 mdi->rd_buff_page_writes =
2028 - rrddim_add(mdi->st_buff_page_iops, "written", NULL, -1, 1, RRD_ALGORITHM_INCREMENTAL);
2059 + rrddim_add(mdi->st_buff_page_iops, "written", NULL, -1, 1, RRD_ALGORITHM_INCREMENTAL);
2060
2061 rrdlabels_add(mdi->st_buff_page_iops->rrdlabels, "mssql_instance", mi->instanceID, RRDLABEL_SRC_AUTO);
2062 }
2063
2064 rrddim_set_by_pointer(
2034 - mdi->st_buff_page_iops, mdi->rd_buff_page_reads, (collected_number)mdi->MSSQLBufferPageReads.current.Data);
2065 + mdi->st_buff_page_iops, mdi->rd_buff_page_reads, (collected_number)mdi->MSSQLBufferPageReads.current.Data);
2066 rrddim_set_by_pointer(
2036 - mdi->st_buff_page_iops, mdi->rd_buff_page_writes, (collected_number)mdi->MSSQLBufferPageWrites.current.Data);
2067 + mdi->st_buff_page_iops, mdi->rd_buff_page_writes, (collected_number)mdi->MSSQLBufferPageWrites.current.Data);
2068
2069 rrdset_done(mdi->st_buff_page_iops);
2070 }
@@ -2045,27 +2076,26 @@ void mssql_buffman_cache_hit_ratio_chart(struct mssql_db_instance *mdi, struct m
2076 snprintfz(id, RRD_ID_LENGTH_MAX, "instance_%s_cache_hit_ratio", mi->instanceID);
2077 netdata_fix_chart_name(id);
2078 mdi->st_buff_cache_hits = rrdset_create_localhost(
2048 - "mssql",
2049 - id,
2050 - NULL,
2051 - "buffer cache",
2052 - "mssql.instance_cache_hit_ratio",
2053 - "Buffer Cache hit ratio",
2054 - "percentage",
2055 - PLUGIN_WINDOWS_NAME,
2056 - "PerflibMSSQL",
2057 - PRIO_MSSQL_BUFF_CACHE_HIT_RATIO,
2058 - mi->update_every,
2059 - RRDSET_TYPE_LINE);
2079 + "mssql",
2080 + id,
2081 + NULL,
2082 + "buffer cache",
2083 + "mssql.instance_cache_hit_ratio",
2084 + "Buffer Cache hit ratio",
2085 + "percentage",
2086 + PLUGIN_WINDOWS_NAME,
2087 + "PerflibMSSQL",
2088 + PRIO_MSSQL_BUFF_CACHE_HIT_RATIO,
2089 + mi->update_every,
2090 + RRDSET_TYPE_LINE);
2091
2061 - mdi->rd_buff_cache_hits =
2062 - rrddim_add(mdi->st_buff_cache_hits, "hit_ratio", NULL, 1, 1, RRD_ALGORITHM_ABSOLUTE);
2092 + mdi->rd_buff_cache_hits = rrddim_add(mdi->st_buff_cache_hits, "hit_ratio", NULL, 1, 1, RRD_ALGORITHM_ABSOLUTE);
2093
2094 rrdlabels_add(mdi->st_buff_cache_hits->rrdlabels, "mssql_instance", mi->instanceID, RRDLABEL_SRC_AUTO);
2095 }
2096
2097 rrddim_set_by_pointer(
2068 - mdi->st_buff_cache_hits, mdi->rd_buff_cache_hits, (collected_number)mdi->MSSQLBufferCacheHits.current.Data);
2098 + mdi->st_buff_cache_hits, mdi->rd_buff_cache_hits, (collected_number)mdi->MSSQLBufferCacheHits.current.Data);
2099 rrdset_done(mdi->st_buff_cache_hits);
2100 }
2101
@@ -2076,29 +2106,29 @@ void mssql_buffman_checkpoints_pages_chart(struct mssql_db_instance *mdi, struct
2106 snprintfz(id, RRD_ID_LENGTH_MAX, "instance_%s_bufman_checkpoint_pages", mi->instanceID);
2107 netdata_fix_chart_name(id);
2108 mdi->st_buff_checkpoint_pages = rrdset_create_localhost(
2079 - "mssql",
2080 - id,
2081 - NULL,
2082 - "buffer cache",
2083 - "mssql.instance_bufman_checkpoint_pages",
2084 - "Flushed pages",
2085 - "pages/s",
2086 - PLUGIN_WINDOWS_NAME,
2087 - "PerflibMSSQL",
2088 - PRIO_MSSQL_BUFF_CHECKPOINT_PAGES,
2089 - mi->update_every,
2090 - RRDSET_TYPE_LINE);
2109 + "mssql",
2110 + id,
2111 + NULL,
2112 + "buffer cache",
2113 + "mssql.instance_bufman_checkpoint_pages",
2114 + "Flushed pages",
2115 + "pages/s",
2116 + PLUGIN_WINDOWS_NAME,
2117 + "PerflibMSSQL",
2118 + PRIO_MSSQL_BUFF_CHECKPOINT_PAGES,
2119 + mi->update_every,
2120 + RRDSET_TYPE_LINE);
2121
2122 mdi->rd_buff_checkpoint_pages =
2093 - rrddim_add(mdi->st_buff_checkpoint_pages, "log", NULL, 1, 1, RRD_ALGORITHM_INCREMENTAL);
2123 + rrddim_add(mdi->st_buff_checkpoint_pages, "log", NULL, 1, 1, RRD_ALGORITHM_INCREMENTAL);
2124
2125 rrdlabels_add(mdi->st_buff_checkpoint_pages->rrdlabels, "mssql_instance", mi->instanceID, RRDLABEL_SRC_AUTO);
2126 }
2127
2128 rrddim_set_by_pointer(
2099 - mdi->st_buff_checkpoint_pages,
2100 - mdi->rd_buff_checkpoint_pages,
2101 - (collected_number)mdi->MSSQLBufferCheckpointPages.current.Data);
2129 + mdi->st_buff_checkpoint_pages,
2130 + mdi->rd_buff_checkpoint_pages,
2131 + (collected_number)mdi->MSSQLBufferCheckpointPages.current.Data);
2132 rrdset_done(mdi->st_buff_checkpoint_pages);
2133 }
2134
@@ -2109,30 +2139,30 @@ void mssql_buffman_page_life_expectancy_chart(struct mssql_db_instance *mdi, str
2139 snprintfz(id, RRD_ID_LENGTH_MAX, "instance_%s_bufman_page_life_expectancy", mi->instanceID);
2140 netdata_fix_chart_name(id);
2141 mdi->st_buff_cache_page_life_expectancy = rrdset_create_localhost(
2112 - "mssql",
2113 - id,
2114 - NULL,
2115 - "buffer cache",
2116 - "mssql.instance_bufman_page_life_expectancy",
2117 - "Page life expectancy",
2118 - "seconds",
2119 - PLUGIN_WINDOWS_NAME,
2120 - "PerflibMSSQL",
2121 - PRIO_MSSQL_BUFF_PAGE_LIFE_EXPECTANCY,
2122 - mi->update_every,
2123 - RRDSET_TYPE_LINE);
2142 + "mssql",
2143 + id,
2144 + NULL,
2145 + "buffer cache",
2146 + "mssql.instance_bufman_page_life_expectancy",
2147 + "Page life expectancy",
2148 + "seconds",
2149 + PLUGIN_WINDOWS_NAME,
2150 + "PerflibMSSQL",
2151 + PRIO_MSSQL_BUFF_PAGE_LIFE_EXPECTANCY,
2152 + mi->update_every,
2153 + RRDSET_TYPE_LINE);
2154
2125 - mdi->rd_buff_cache_page_life_expectancy = rrddim_add(
2126 - mdi->st_buff_cache_page_life_expectancy, "life_expectancy", NULL, 1, 1, RRD_ALGORITHM_ABSOLUTE);
2155 + mdi->rd_buff_cache_page_life_expectancy =
2156 + rrddim_add(mdi->st_buff_cache_page_life_expectancy, "life_expectancy", NULL, 1, 1, RRD_ALGORITHM_ABSOLUTE);
2157
2158 rrdlabels_add(
2129 - mdi->st_buff_cache_page_life_expectancy->rrdlabels, "mssql_instance", mi->instanceID, RRDLABEL_SRC_AUTO);
2159 + mdi->st_buff_cache_page_life_expectancy->rrdlabels, "mssql_instance", mi->instanceID, RRDLABEL_SRC_AUTO);
2160 }
2161
2162 rrddim_set_by_pointer(
2133 - mdi->st_buff_cache_page_life_expectancy,
2134 - mdi->rd_buff_cache_page_life_expectancy,
2135 - (collected_number)mdi->MSSQLBufferPageLifeExpectancy.current.Data);
2163 + mdi->st_buff_cache_page_life_expectancy,
2164 + mdi->rd_buff_cache_page_life_expectancy,
2165 + (collected_number)mdi->MSSQLBufferPageLifeExpectancy.current.Data);
2166 rrdset_done(mdi->st_buff_cache_page_life_expectancy);
2167 }
2168
@@ -2143,94 +2173,90 @@ void mssql_buffman_lazy_write_chart(struct mssql_db_instance *mdi, struct mssql_
2173 snprintfz(id, RRD_ID_LENGTH_MAX, "instance_%s_bufman_lazy_write", mi->instanceID);
2174 netdata_fix_chart_name(id);
2175 mdi->st_buff_lazy_write = rrdset_create_localhost(
2146 - "mssql",
2147 - id,
2148 - NULL,
2149 - "buffer cache",
2150 - "mssql.instance_bufman_lazy_write",
2151 - "Buffers written by buffer manager's lazy writer",
2152 - "writes/s",
2153 - PLUGIN_WINDOWS_NAME,
2154 - "PerflibMSSQL",
2155 - PRIO_MSSQL_BUFF_LAZY_WRITE,
2156 - mi->update_every,
2157 - RRDSET_TYPE_LINE);
2176 + "mssql",
2177 + id,
2178 + NULL,
2179 + "buffer cache",
2180 + "mssql.instance_bufman_lazy_write",
2181 + "Buffers written by buffer manager's lazy writer",
2182 + "writes/s",
2183 + PLUGIN_WINDOWS_NAME,
2184 + "PerflibMSSQL",
2185 + PRIO_MSSQL_BUFF_LAZY_WRITE,
2186 + mi->update_every,
2187 + RRDSET_TYPE_LINE);
2188
2159 - mdi->rd_buff_lazy_write = rrddim_add(
2160 - mdi->st_buff_lazy_write, "writes", NULL, 1, 1, RRD_ALGORITHM_INCREMENTAL);
2189 + mdi->rd_buff_lazy_write = rrddim_add(mdi->st_buff_lazy_write, "writes", NULL, 1, 1, RRD_ALGORITHM_INCREMENTAL);
2190
2162 - rrdlabels_add(
2163 - mdi->st_buff_lazy_write->rrdlabels, "mssql_instance", mi->instanceID, RRDLABEL_SRC_AUTO);
2191 + rrdlabels_add(mdi->st_buff_lazy_write->rrdlabels, "mssql_instance", mi->instanceID, RRDLABEL_SRC_AUTO);
2192 }
2193
2194 rrddim_set_by_pointer(
2167 - mdi->st_buff_lazy_write,
2168 - mdi->rd_buff_lazy_write,
2169 - (collected_number)mdi->MSSQLBufferLazyWrite.current.Data);
2195 + mdi->st_buff_lazy_write, mdi->rd_buff_lazy_write, (collected_number)mdi->MSSQLBufferLazyWrite.current.Data);
2196 rrdset_done(mdi->st_buff_lazy_write);
2197 }
2198
2173 -void mssql_buffman_page_lookups_chart(struct mssql_db_instance *mdi, struct mssql_instance *mi) {
2199 +void mssql_buffman_page_lookups_chart(struct mssql_db_instance *mdi, struct mssql_instance *mi)
2200 +{
2201 if (!mdi->st_buff_page_lookups) {
2202 char id[RRD_ID_LENGTH_MAX + 1];
2203 snprintfz(id, RRD_ID_LENGTH_MAX, "instance_%s_bufman_page_lookups", mi->instanceID);
2204 netdata_fix_chart_name(id);
2205 mdi->st_buff_page_lookups = rrdset_create_localhost(
2179 - "mssql",
2180 - id,
2181 - NULL,
2182 - "buffer cache",
2183 - "mssql.instance_bufman_page_lookups",
2184 - "Requests to find a page in the buffer pool.",
2185 - "lookups/s",
2186 - PLUGIN_WINDOWS_NAME,
2187 - "PerflibMSSQL",
2188 - PRIO_MSSQL_BUFF_PAGE_LOOKUPS,
2189 - mi->update_every,
2190 - RRDSET_TYPE_LINE);
2206 + "mssql",
2207 + id,
2208 + NULL,
2209 + "buffer cache",
2210 + "mssql.instance_bufman_page_lookups",
2211 + "Requests to find a page in the buffer pool.",
2212 + "lookups/s",
2213 + PLUGIN_WINDOWS_NAME,
2214 + "PerflibMSSQL",
2215 + PRIO_MSSQL_BUFF_PAGE_LOOKUPS,
2216 + mi->update_every,
2217 + RRDSET_TYPE_LINE);
2218
2192 - mdi->rd_buff_page_lookups = rrddim_add(
2193 - mdi->st_buff_page_lookups, "lookups", NULL, 1, 1, RRD_ALGORITHM_INCREMENTAL);
2219 + mdi->rd_buff_page_lookups =
2220 + rrddim_add(mdi->st_buff_page_lookups, "lookups", NULL, 1, 1, RRD_ALGORITHM_INCREMENTAL);
2221
2195 - rrdlabels_add(
2196 - mdi->st_buff_page_lookups->rrdlabels, "mssql_instance", mi->instanceID, RRDLABEL_SRC_AUTO);
2222 + rrdlabels_add(mdi->st_buff_page_lookups->rrdlabels, "mssql_instance", mi->instanceID, RRDLABEL_SRC_AUTO);
2223 }
2224
2225 rrddim_set_by_pointer(
2200 - mdi->st_buff_page_lookups,
2201 - mdi->rd_buff_page_lookups,
2202 - (collected_number) mdi->MSSQLBufferPageLookups.current.Data);
2226 + mdi->st_buff_page_lookups,
2227 + mdi->rd_buff_page_lookups,
2228 + (collected_number)mdi->MSSQLBufferPageLookups.current.Data);
2229 rrdset_done(mdi->st_buff_page_lookups);
2230 }
2231
2206 -static void netdata_mssql_compilations(struct mssql_db_instance *mdi, struct mssql_instance *mi) {
2232 +static void netdata_mssql_compilations(struct mssql_db_instance *mdi, struct mssql_instance *mi)
2233 +{
2234 if (!mdi->st_stats_compilation) {
2235 char id[RRD_ID_LENGTH_MAX + 1];
2236 snprintfz(id, RRD_ID_LENGTH_MAX, "instance_%s_sqlstats_sql_compilations", mi->instanceID);
2237 netdata_fix_chart_name(id);
2238 mdi->st_stats_compilation = rrdset_create_localhost(
2212 - "mssql",
2213 - id,
2214 - NULL,
2215 - "sql activity",
2216 - "mssql.instance_sqlstats_sql_compilations",
2217 - "SQL compilations",
2218 - "compilations/s",
2219 - PLUGIN_WINDOWS_NAME,
2220 - "PerflibMSSQL",
2221 - PRIO_MSSQL_STATS_COMPILATIONS,
2222 - mi->update_every,
2223 - RRDSET_TYPE_LINE);
2239 + "mssql",
2240 + id,
2241 + NULL,
2242 + "sql activity",
2243 + "mssql.instance_sqlstats_sql_compilations",
2244 + "SQL compilations",
2245 + "compilations/s",
2246 + PLUGIN_WINDOWS_NAME,
2247 + "PerflibMSSQL",
2248 + PRIO_MSSQL_STATS_COMPILATIONS,
2249 + mi->update_every,
2250 + RRDSET_TYPE_LINE);
2251
2252 mdi->rd_stats_compilation =
2226 - rrddim_add(mdi->st_stats_compilation, "compilations", NULL, 1, 1, RRD_ALGORITHM_INCREMENTAL);
2253 + rrddim_add(mdi->st_stats_compilation, "compilations", NULL, 1, 1, RRD_ALGORITHM_INCREMENTAL);
2254
2255 rrdlabels_add(mdi->st_stats_compilation->rrdlabels, "mssql_instance", mi->instanceID, RRDLABEL_SRC_AUTO);
2256 }
2257
2258 rrddim_set_by_pointer(
2232 - mdi->st_stats_compilation, mdi->rd_stats_compilation,
2233 - (collected_number) mdi->MSSQLCompilations.current.Data);
2259 + mdi->st_stats_compilation, mdi->rd_stats_compilation, (collected_number)mdi->MSSQLCompilations.current.Data);
2260 rrdset_done(mdi->st_stats_compilation);
2261 }
2262
@@ -2241,31 +2267,34 @@ static void netdata_mssql_recompilations(struct mssql_db_instance *mdi, struct m
2267 snprintfz(id, RRD_ID_LENGTH_MAX, "instance_%s_sqlstats_sql_recompilations", mi->instanceID);
2268 netdata_fix_chart_name(id);
2269 mdi->st_stats_recompiles = rrdset_create_localhost(
2244 - "mssql",
2245 - id,
2246 - NULL,
2247 - "sql activity",
2248 - "mssql.instance_sqlstats_sql_recompilations",
2249 - "SQL re-compilations",
2250 - "recompiles/s",
2251 - PLUGIN_WINDOWS_NAME,
2252 - "PerflibMSSQL",
2253 - PRIO_MSSQL_STATS_RECOMPILATIONS,
2254 - mi->update_every,
2255 - RRDSET_TYPE_LINE);
2270 + "mssql",
2271 + id,
2272 + NULL,
2273 + "sql activity",
2274 + "mssql.instance_sqlstats_sql_recompilations",
2275 + "SQL re-compilations",
2276 + "recompiles/s",
2277 + PLUGIN_WINDOWS_NAME,
2278 + "PerflibMSSQL",
2279 + PRIO_MSSQL_STATS_RECOMPILATIONS,
2280 + mi->update_every,
2281 + RRDSET_TYPE_LINE);
2282
2283 mdi->rd_stats_recompiles =
2258 - rrddim_add(mdi->st_stats_recompiles, "recompiles", NULL, 1, 1, RRD_ALGORITHM_INCREMENTAL);
2284 + rrddim_add(mdi->st_stats_recompiles, "recompiles", NULL, 1, 1, RRD_ALGORITHM_INCREMENTAL);
2285
2286 rrdlabels_add(mdi->st_stats_recompiles->rrdlabels, "mssql_instance", mi->instanceID, RRDLABEL_SRC_AUTO);
2287 }
2288
2289 rrddim_set_by_pointer(
2264 - mdi->st_stats_recompiles, mdi->rd_stats_recompiles, (collected_number)mdi->MSSQLRecompilations.current.Data);
2290 + mdi->st_stats_recompiles, mdi->rd_stats_recompiles, (collected_number)mdi->MSSQLRecompilations.current.Data);
2291 rrdset_done(mdi->st_stats_recompiles);
2292 }
2293
2268 -int dict_mssql_buffman_stats_charts_cb(const DICTIONARY_ITEM *item __maybe_unused, void *value, void *data __maybe_unused)
2294 +int dict_mssql_buffman_stats_charts_cb(
2295 + const DICTIONARY_ITEM *item __maybe_unused,
2296 + void *value,
2297 + void *data __maybe_unused)
2298 {
2299 struct mssql_db_instance *mdi = value;
2300 struct mssql_instance *mi = data;
@@ -2298,37 +2327,36 @@ static void netdata_mssql_jobs_status(struct mssql_db_jobs *mdj, struct mssql_in
2327 snprintfz(id, RRD_ID_LENGTH_MAX, "job_%s_instance_%s_status", job, mi->instanceID);
2328 netdata_fix_chart_name(id);
2329 mdj->st_status = rrdset_create_localhost(
2301 - "mssql",
2302 - id,
2303 - NULL,
2304 - "jobs",
2305 - "mssql.instance_jobs_status",
2306 - "Jobs running",
2307 - "status",
2308 - PLUGIN_WINDOWS_NAME,
2309 - "PerflibMSSQL",
2310 - PRIO_MSSQL_DATABASE_JOBS_STATUS,
2311 - mi->update_every,
2312 - RRDSET_TYPE_LINE);
2330 + "mssql",
2331 + id,
2332 + NULL,
2333 + "jobs",
2334 + "mssql.instance_jobs_status",
2335 + "Jobs running",
2336 + "status",
2337 + PLUGIN_WINDOWS_NAME,
2338 + "PerflibMSSQL",
2339 + PRIO_MSSQL_DATABASE_JOBS_STATUS,
2340 + mi->update_every,
2341 + RRDSET_TYPE_LINE);
2342
2314 - mdj->rd_status_enabled =
2315 - rrddim_add(mdj->st_status, "enabled", NULL, 1, 1, RRD_ALGORITHM_ABSOLUTE);
2343 + mdj->rd_status_enabled = rrddim_add(mdj->st_status, "enabled", NULL, 1, 1, RRD_ALGORITHM_ABSOLUTE);
2344
2317 - mdj->rd_status_disabled =
2318 - rrddim_add(mdj->st_status, "disabled", NULL, 1, 1, RRD_ALGORITHM_ABSOLUTE);
2345 + mdj->rd_status_disabled = rrddim_add(mdj->st_status, "disabled", NULL, 1, 1, RRD_ALGORITHM_ABSOLUTE);
2346
2347 rrdlabels_add(mdj->st_status->rrdlabels, "mssql_instance", mi->instanceID, RRDLABEL_SRC_AUTO);
2348 rrdlabels_add(mdj->st_status->rrdlabels, "job_name", job, RRDLABEL_SRC_AUTO);
2349 }
2350
2351 rrddim_set_by_pointer(
2325 - mdj->st_status, mdj->rd_status_enabled, (collected_number)(mdj->MSSQLJOBState.current.Data == 1));
2352 + mdj->st_status, mdj->rd_status_enabled, (collected_number)(mdj->MSSQLJOBState.current.Data == 1));
2353 rrddim_set_by_pointer(
2327 - mdj->st_status, mdj->rd_status_disabled, (collected_number)(mdj->MSSQLJOBState.current.Data == 0));
2354 + mdj->st_status, mdj->rd_status_disabled, (collected_number)(mdj->MSSQLJOBState.current.Data == 0));
2355 rrdset_done(mdj->st_status);
2356 }
2357
2331 -int dict_mssql_sysjobs_chart_cb(const DICTIONARY_ITEM *item __maybe_unused, void *value, void *data __maybe_unused) {
2358 +int dict_mssql_sysjobs_chart_cb(const DICTIONARY_ITEM *item __maybe_unused, void *value, void *data __maybe_unused)
2359 +{
2360 const char *job = dictionary_acquired_item_name((DICTIONARY_ITEM *)item);
2361 struct mssql_db_jobs *mdj = value;
2362 struct mssql_instance *mi = data;
@@ -2595,18 +2623,18 @@ static void mssql_is_readonly_chart(struct mssql_db_instance *mdi, const char *d
2623 snprintfz(id, RRD_ID_LENGTH_MAX, "db_%s_instance_%s_readonly", db, mdi->parent->instanceID);
2624 netdata_fix_chart_name(id);
2625 mdi->st_db_readonly = rrdset_create_localhost(
2598 - "mssql",
2599 - id,
2600 - NULL,
2601 - "locks",
2602 - "mssql.database_readonly",
2603 - "Current database write status.",
2604 - "status",
2605 - PLUGIN_WINDOWS_NAME,
2606 - "PerflibMSSQL",
2607 - PRIO_MSSQL_DATABASE_READONLY,
2608 - update_every,
2609 - RRDSET_TYPE_LINE);
2626 + "mssql",
2627 + id,
2628 + NULL,
2629 + "locks",
2630 + "mssql.database_readonly",
2631 + "Current database write status.",
2632 + "status",
2633 + PLUGIN_WINDOWS_NAME,
2634 + "PerflibMSSQL",
2635 + PRIO_MSSQL_DATABASE_READONLY,
2636 + update_every,
2637 + RRDSET_TYPE_LINE);
2638
2639 rrdlabels_add(mdi->st_db_readonly->rrdlabels, "mssql_instance", mdi->parent->instanceID, RRDLABEL_SRC_AUTO);
2640 rrdlabels_add(mdi->st_db_readonly->rrdlabels, "database", db, RRDLABEL_SRC_AUTO);
@@ -2616,11 +2644,10 @@ static void mssql_is_readonly_chart(struct mssql_db_instance *mdi, const char *d
2644 }
2645
2646 rrddim_set_by_pointer(
2619 - mdi->st_db_readonly, mdi->rd_db_readonly_no, (collected_number)mdi->MSSQLDBIsReadonly.current.Data);
2647 + mdi->st_db_readonly, mdi->rd_db_readonly_no, (collected_number)mdi->MSSQLDBIsReadonly.current.Data);
2648
2649 collected_number opposite = (mdi->MSSQLDBIsReadonly.current.Data) ? 0 : 1;
2622 - rrddim_set_by_pointer(
2623 - mdi->st_db_readonly, mdi->rd_db_readonly_yes, (collected_number)opposite);
2650 + rrddim_set_by_pointer(mdi->st_db_readonly, mdi->rd_db_readonly_yes, (collected_number)opposite);
2651
2652 rrdset_done(mdi->st_db_readonly);
2653 }
@@ -2632,18 +2659,18 @@ static void mssql_db_states_chart(struct mssql_db_instance *mdi, const char *db,
2659 snprintfz(id, RRD_ID_LENGTH_MAX, "db_%s_instance_%s_state", db, mdi->parent->instanceID);
2660 netdata_fix_chart_name(id);
2661 mdi->st_db_state = rrdset_create_localhost(
2635 - "mssql",
2636 - id,
2637 - NULL,
2638 - "locks",
2639 - "mssql.database_state",
2640 - "Current database state.",
2641 - "status",
2642 - PLUGIN_WINDOWS_NAME,
2643 - "PerflibMSSQL",
2644 - PRIO_MSSQL_DATABASE_STATE,
2645 - update_every,
2646 - RRDSET_TYPE_LINE);
2662 + "mssql",
2663 + id,
2664 + NULL,
2665 + "locks",
2666 + "mssql.database_state",
2667 + "Current database state.",
2668 + "status",
2669 + PLUGIN_WINDOWS_NAME,
2670 + "PerflibMSSQL",
2671 + PRIO_MSSQL_DATABASE_STATE,
2672 + update_every,
2673 + RRDSET_TYPE_LINE);
2674
2675 rrdlabels_add(mdi->st_db_state->rrdlabels, "mssql_instance", mdi->parent->instanceID, RRDLABEL_SRC_AUTO);
2676 rrdlabels_add(mdi->st_db_state->rrdlabels, "database", db, RRDLABEL_SRC_AUTO);
@@ -2659,7 +2686,8 @@ static void mssql_db_states_chart(struct mssql_db_instance *mdi, const char *db,
2686
2687 static void mssql_db_state_chart_loop(struct mssql_db_instance *mdi, const char *db, int update_every)
2688 {
2662 - collected_number set_value = (mdi->MSSQLDBState.current.Data < 5) ? (collected_number) mdi->MSSQLDBState.current.Data : 5;
2689 + collected_number set_value =
2690 + (mdi->MSSQLDBState.current.Data < 5) ? (collected_number)mdi->MSSQLDBState.current.Data : 5;
2691 mssql_db_states_chart(mdi, db, update_every);
2692 for (collected_number i; i < NETDATA_DB_STATES; i++) {
2693 rrddim_set_by_pointer(mdi->st_db_state, mdi->rd_db_state[i], i == set_value);
@@ -2816,19 +2844,19 @@ int dict_mssql_databases_charts_cb(const DICTIONARY_ITEM *item __maybe_unused, v
2844 int *update_every = data;
2845
2846 void (*transaction_chart[])(struct mssql_db_instance *, const char *, int) = {
2819 - mssql_data_file_size_chart,
2820 - mssql_transactions_chart,
2821 - mssql_database_backup_restore_chart,
2822 - mssql_database_log_flushed_chart,
2823 - mssql_database_log_flushes_chart,
2824 - mssql_active_transactions_chart,
2825 - mssql_write_transactions_chart,
2826 - mssql_lockwait_chart,
2827 - mssql_deadlock_chart,
2828 - mssql_is_readonly_chart,
2829 - mssql_db_state_chart_loop,
2830 - mssql_lock_timeout_chart,
2831 - mssql_lock_request_chart,
2847 + mssql_data_file_size_chart,
2848 + mssql_transactions_chart,
2849 + mssql_database_backup_restore_chart,
2850 + mssql_database_log_flushed_chart,
2851 + mssql_database_log_flushes_chart,
2852 + mssql_active_transactions_chart,
2853 + mssql_write_transactions_chart,
2854 + mssql_lockwait_chart,
2855 + mssql_deadlock_chart,
2856 + mssql_is_readonly_chart,
2857 + mssql_db_state_chart_loop,
2858 + mssql_lock_timeout_chart,
2859 + mssql_lock_request_chart,
2860
2861 // Last function pointer must be NULL
2862 NULL};
@@ -3035,23 +3063,24 @@ int dict_mssql_charts_cb(const DICTIONARY_ITEM *item __maybe_unused, void *value
3063 int *update_every = data;
3064
3065 static void (*doMSSQL[])(PERF_DATA_BLOCK *, struct mssql_instance *, int) = {
3038 - do_mssql_general_stats,
3039 - do_mssql_errors,
3040 - do_mssql_memory_mgr,
3041 - do_mssql_statistics_perflib,
3042 - do_mssql_access_methods,
3066 + do_mssql_general_stats,
3067 + do_mssql_errors,
3068 + do_mssql_memory_mgr,
3069 + do_mssql_statistics_perflib,
3070 + do_mssql_access_methods,
3071 +
3072 + do_mssql_databases,
3073 + do_mssql_locks,
3074 + do_mssql_waits,
3075 + do_mssql_bufferman_stats_sql,
3076 + do_mssql_job_status_sql,
3077
3044 - do_mssql_databases,
3045 - do_mssql_locks,
3046 - do_mssql_waits,
3047 - do_mssql_bufferman_stats_sql,
3048 - do_mssql_job_status_sql,
3049 -
3050 - NULL};
3078 + NULL};
3079
3080 DWORD i;
3081 PERF_DATA_BLOCK *pDataBlock;
3054 - static bool collect_perflib[NETDATA_MSSQL_METRICS_END] = {true, true, true, true, true, true, true, true, true, true};
3082 + static bool collect_perflib[NETDATA_MSSQL_METRICS_END] = {
3083 + true, true, true, true, true, true, true, true, true, true};
3084 for (i = 0; i < NETDATA_MSSQL_ACCESS_METHODS; i++) {
3085 if (!collect_perflib[i])
3086 continue;
@@ -3067,7 +3096,7 @@ int dict_mssql_charts_cb(const DICTIONARY_ITEM *item __maybe_unused, void *value
3096 return 1;
3097
3098 for (i = NETDATA_MSSQL_DATABASE; doMSSQL[i]; i++) {
3070 - pDataBlock = (collect_perflib[i]) ? netdata_mssql_get_perf_data_block(collect_perflib, mi, i): NULL;
3099 + pDataBlock = (collect_perflib[i]) ? netdata_mssql_get_perf_data_block(collect_perflib, mi, i) : NULL;
3100
3101 doMSSQL[i](pDataBlock, mi, *update_every);
3102 }