Skip to content

Commit

Permalink
Pass in report directory to metrics init, change from pointer to array
Browse files Browse the repository at this point in the history
  • Loading branch information
shannonklaus committed Feb 15, 2024
1 parent 37ba6d3 commit b920f37
Show file tree
Hide file tree
Showing 6 changed files with 32 additions and 30 deletions.
11 changes: 6 additions & 5 deletions examples/async_examples/async_batch_get/src/main/example.c
Original file line number Diff line number Diff line change
Expand Up @@ -80,14 +80,15 @@ main(int argc, char* argv[])
as_error err;
as_error_reset(&err);
as_policy_metrics policy;
as_metrics_policy_init(&policy);
policy.interval = 5;

#ifdef _MSC_VER
policy.report_directory = "C:\\Users\\sklaus\\repos\\aerospike-client-c\\src\\test";
char report_dir[] = "C:\\Users\\sklaus\\repos\\aerospike-client-c\\src\\test";
#else
policy.report_directory = "/home/sklaus/metrics";
char report_dir[] = "/home/sklaus/metrics";
#endif
as_metrics_policy_init(&policy, report_dir);
policy.interval = 5;



// enable metrics
as_status status = aerospike_enable_metrics(&as, &err, &policy);
Expand Down
8 changes: 4 additions & 4 deletions examples/basic_examples/append/src/main/example.c
Original file line number Diff line number Diff line change
Expand Up @@ -59,13 +59,13 @@ main(int argc, char* argv[])
as_error err;
as_error_reset(&err);
as_policy_metrics policy;
as_metrics_policy_init(&policy);
policy.interval = 5;
#ifdef _MSC_VER
policy.report_directory = "C:\\Users\\sklaus\\repos\\aerospike-client-c\\src\\test";
char report_dir[] = "C:\\Users\\sklaus\\repos\\aerospike-client-c\\src\\test";
#else
policy.report_directory = "/home/sklaus/metrics";
char report_dir[] = "/home/sklaus/metrics";
#endif
as_metrics_policy_init(&policy, report_dir);
policy.interval = 5;

// enable metrics
as_status status = aerospike_enable_metrics(&as, &err, &policy);
Expand Down
8 changes: 4 additions & 4 deletions examples/batch_examples/get/src/main/example.c
Original file line number Diff line number Diff line change
Expand Up @@ -75,13 +75,13 @@ main(int argc, char* argv[])
as_error err;
as_error_reset(&err);
as_policy_metrics policy;
as_metrics_policy_init(&policy);
policy.interval = 5;
#ifdef _MSC_VER
policy.report_directory = "C:\\Users\\sklaus\\repos\\aerospike-client-c\\src\\test";
char report_dir[] = "C:\\Users\\sklaus\\repos\\aerospike-client-c\\src\\test";
#else
policy.report_directory = "/home/sklaus/metrics";
char report_dir[] = "/home/sklaus/metrics";
#endif
as_metrics_policy_init(&policy, report_dir);
policy.interval = 5;

// enable metrics
as_status status = aerospike_enable_metrics(&as, &err, &policy);
Expand Down
6 changes: 3 additions & 3 deletions src/include/aerospike/as_metrics.h
Original file line number Diff line number Diff line change
Expand Up @@ -125,7 +125,7 @@ typedef struct as_policy_metrics_s {
*
* Default: <current directory>
*/
const char* report_directory;
char report_dir[256];

/**
* Metrics file size soft limit in bytes for listeners that write logs.
Expand Down Expand Up @@ -184,7 +184,7 @@ typedef struct as_node_metrics_s {
*/
typedef struct as_metrics_writer_s {
FILE* file;
const char* report_directory;
char report_dir[256];
uint64_t max_size;
uint64_t size;
uint32_t latency_columns;
Expand All @@ -204,7 +204,7 @@ typedef struct as_metrics_writer_s {
* Initalize metrics policy
*/
AS_EXTERN void
as_metrics_policy_init(as_policy_metrics* policy);
as_metrics_policy_init(as_policy_metrics* policy, const char* report_dir);

/**
* Enable extended periodic cluster and node latency metrics.
Expand Down
18 changes: 9 additions & 9 deletions src/main/aerospike/as_metrics.c
Original file line number Diff line number Diff line change
Expand Up @@ -65,7 +65,7 @@ as_metrics_write_line(as_metrics_writer* mw, const char* data, as_error* err)
int written = fprintf(mw->file, "%s", data);
if (written <= 0) {
return as_error_update(err, AEROSPIKE_ERR_CLIENT,
"Failed to write metrics data: %d,%s", written, mw->report_directory);
"Failed to write metrics data: %d,%s", written, mw->report_dir);
}
mw->size += written;

Expand All @@ -74,7 +74,7 @@ as_metrics_write_line(as_metrics_writer* mw, const char* data, as_error* err)

if (result != 0) {
return as_error_update(err, AEROSPIKE_ERR_CLIENT,
"File stream did not close successfully: %s", mw->report_directory);
"File stream did not close successfully: %s", mw->report_dir);
}
return as_metrics_open_writer(mw, err);
}
Expand All @@ -87,7 +87,6 @@ as_metrics_writer_init_udata()
{
as_metrics_writer* mw = (as_metrics_writer*)cf_malloc(sizeof(as_metrics_writer));
mw->file = NULL;
mw->report_directory = NULL;
mw->max_size = 0;
mw->latency_columns = 0;
mw->latency_shift = 0;
Expand Down Expand Up @@ -124,8 +123,8 @@ as_metrics_open_writer(as_metrics_writer* mw, as_error* err)

as_string_builder file_name;
as_string_builder_inita(&file_name, 256, false);
as_string_builder_append(&file_name, mw->report_directory);
char last_char = mw->report_directory[(strlen(mw->report_directory) - 1)];
as_string_builder_append(&file_name, mw->report_dir);
char last_char = mw->report_dir[(strlen(mw->report_dir) - 1)];
if (last_char != '/' && last_char != '\\') {
as_string_builder_append_char(&file_name, separator());
}
Expand All @@ -136,7 +135,7 @@ as_metrics_open_writer(as_metrics_writer* mw, as_error* err)

if (!mw->file) {
return as_error_update(err, AEROSPIKE_ERR_CLIENT,
"Failed to open file: %s", mw->report_directory);
"Failed to open file: %s", mw->report_dir);
}

mw->size = 0;
Expand Down Expand Up @@ -625,7 +624,7 @@ as_metrics_writer_enable(as_error* err, const struct as_policy_metrics_s* policy
mw->max_size = policy->report_size_limit;
mw->latency_columns = policy->latency_columns;
mw->latency_shift = policy->latency_shift;
mw->report_directory = policy->report_directory;
as_strncpy(mw->report_dir, policy->report_dir, sizeof(mw->report_dir));

as_status status = as_metrics_open_writer(mw, err);

Expand Down Expand Up @@ -655,7 +654,7 @@ as_metrics_writer_snapshot(as_error* err, struct as_cluster_s* cluster, void* ud
as_metrics_writer_destroy_nodes(cluster);
as_metrics_writer_destroy(mw);
return as_error_update(err, AEROSPIKE_ERR_CLIENT,
"File stream did not flush successfully: %s", mw->report_directory);
"File stream did not flush successfully: %s", mw->report_dir);
}
}

Expand Down Expand Up @@ -730,9 +729,10 @@ aerospike_disable_metrics(aerospike* as, as_error* err)
}

void
as_metrics_policy_init(as_policy_metrics* policy)
as_metrics_policy_init(as_policy_metrics* policy, const char* report_dir)
{
policy->report_size_limit = 0;
as_strncpy(policy->report_dir, report_dir, sizeof(policy->report_dir));
policy->interval = 30;
policy->latency_columns = 7;
policy->latency_shift = 1;
Expand Down
11 changes: 6 additions & 5 deletions src/test/aerospike_test.c
Original file line number Diff line number Diff line change
Expand Up @@ -383,14 +383,15 @@ static bool before(atf_plan* plan)
}

as_policy_metrics policy;
as_metrics_policy_init(&policy);
policy.interval = 5;
policy.report_size_limit = 1000000;
#ifdef _MSC_VER
policy.report_directory = "C:\\Users\\sklaus\\repos\\aerospike-client-c\\src\\test";
char report_dir[] = "C:\\Users\\sklaus\\repos\\aerospike-client-c\\src\\test";
#else
policy.report_directory = "/home/sklaus/metrics";
char report_dir[] = "/home/sklaus/metrics";
#endif
as_metrics_policy_init(&policy, &report_dir);
policy.interval = 5;
policy.report_size_limit = 1000000;


// enable metrics
as_status status = aerospike_enable_metrics(as, &err, &policy);
Expand Down

0 comments on commit b920f37

Please sign in to comment.