static void php_cassandra_log_initialize() { uv_rwlock_init(&log_lock); cass_log_set_level(CASS_LOG_ERROR); cass_log_set_callback(php_cassandra_log, NULL); }
static PHP_INI_MH(OnUpdateLogLevel) { /* If TSRM is enabled then the last thread to update this wins */ if (new_value) { if (PHP5TO7_STRCMP(new_value, "CRITICAL") == 0) { cass_log_set_level(CASS_LOG_DISABLED); } else if (PHP5TO7_STRCMP(new_value, "ERROR") == 0) { cass_log_set_level(CASS_LOG_ERROR); } else if (PHP5TO7_STRCMP(new_value, "WARN") == 0) { cass_log_set_level(CASS_LOG_WARN); } else if (PHP5TO7_STRCMP(new_value, "INFO") == 0) { cass_log_set_level(CASS_LOG_INFO); } else if (PHP5TO7_STRCMP(new_value, "DEBUG") == 0) { cass_log_set_level(CASS_LOG_DEBUG); } else if (PHP5TO7_STRCMP(new_value, "TRACE") == 0) { cass_log_set_level(CASS_LOG_TRACE); } else { php_error_docref(NULL TSRMLS_CC, E_NOTICE, "cassandra | Unknown log level '%s', using 'ERROR'", new_value); cass_log_set_level(CASS_LOG_ERROR); } } return SUCCESS; }
int main() { int i; CassMetrics metrics; uv_thread_t threads[NUM_THREADS]; CassCluster* cluster = NULL; CassSession* session = NULL; CassFuture* close_future = NULL; status_init(&status, NUM_THREADS); cass_log_set_level(CASS_LOG_INFO); cluster = create_cluster(); uuid_gen = cass_uuid_gen_new(); session = cass_session_new(); if (connect_session(session, cluster) != CASS_OK) { cass_cluster_free(cluster); cass_session_free(session); return -1; } execute_query(session, "INSERT INTO songs (id, title, album, artist, tags) VALUES " "(a98d21b2-1900-11e4-b97b-e5e358e71e0d, " "'La Petite Tonkinoise', 'Bye Bye Blackbird', 'Joséphine Baker', { 'jazz', '2013' });"); for (i = 0; i < NUM_THREADS; ++i) { #if DO_SELECTS uv_thread_create(&threads[i], run_select_queries, (void*)session); #else uv_thread_create(&threads[i], run_insert_queries, (void*)session); #endif } while (status_wait(&status, 5) > 0) { cass_session_get_metrics(session, &metrics); printf("rate stats (requests/second): mean %f 1m %f 5m %f 10m %f\n", metrics.requests.mean_rate, metrics.requests.one_minute_rate, metrics.requests.five_minute_rate, metrics.requests.fifteen_minute_rate); } cass_session_get_metrics(session, &metrics); printf("final stats (microseconds): min %llu max %llu median %llu 75th %llu 95th %llu 98th %llu 99th %llu 99.9th %llu\n", (unsigned long long int)metrics.requests.min, (unsigned long long int)metrics.requests.max, (unsigned long long int)metrics.requests.median, (unsigned long long int)metrics.requests.percentile_75th, (unsigned long long int)metrics.requests.percentile_95th, (unsigned long long int)metrics.requests.percentile_98th, (unsigned long long int)metrics.requests.percentile_99th, (unsigned long long int)metrics.requests.percentile_999th); for (i = 0; i < NUM_THREADS; ++i) { uv_thread_join(&threads[i]); } close_future = cass_session_close(session); cass_future_wait(close_future); cass_future_free(close_future); cass_cluster_free(cluster); cass_uuid_gen_free(uuid_gen); status_destroy(&status); return 0; }
CassLog() { // Set the maximum log level we'll just ignore anthing // that's not relevant. cass_log_set_level(CASS_LOG_TRACE); cass_log_set_callback(CassLog::callback, &CassLog::log_data_); }