configuration.c
/*
* Copyright 2020 New Relic Corporation. All rights reserved.
* SPDX-License-Identifier: Apache-2.0
*/
#include "newrelic-telemetry-sdk.h"
#include <assert.h>
#include <stdio.h>
#include <stdlib.h>
/*
* Create and destroy a configuration and use all options.
*/
int main() {
const char* api_key = getenv("NEW_RELIC_API_KEY");
if (!api_key) {
fprintf(stderr, "NEW_RELIC_API_KEY not set\n");
exit(1);
}
/* Destroy a NULL configuration. */
nrt_client_config_t* cfg = NULL;
nrt_client_config_destroy(&cfg);
/* Initialize a configuration use all options. */
cfg = nrt_client_config_new(api_key);
assert(cfg);
nrt_client_config_set_backoff_factor(cfg, 1000);
nrt_client_config_set_retries_max(cfg, 5);
nrt_client_config_set_queue_max(cfg, 200);
nrt_client_config_destroy(&cfg);
assert(NULL == cfg);
/* Call with NULL values. */
nrt_client_config_new(NULL);
nrt_client_config_set_backoff_factor(NULL, 1000);
nrt_client_config_set_retries_max(NULL, 5);
nrt_client_config_set_endpoint_traces(NULL, NULL, 31339);
nrt_client_config_set_product_info(NULL, NULL, NULL);
nrt_client_config_set_queue_max(NULL, 200);
nrt_client_config_destroy(NULL);
}
struct _nrt_client_config_t nrt_client_config_t
A configuration object used to initialize a nrt_client_t.
Definition: newrelic-telemetry-sdk.h:28
This is a helper library that supports sending New Relic data from within your C/C++ application.
nrt_client_config_t * nrt_client_config_new(const char *key)
Create a new client configuration with an Insights API key.
void nrt_client_config_set_retries_max(nrt_client_config_t *config, uint32_t retries)
Configures the maximum numbers of retries.
void nrt_client_config_set_backoff_factor(nrt_client_config_t *config, nrt_time_t backoff_factor)
Configures a backoff factor.
void nrt_client_config_set_product_info(nrt_client_config_t *config, const char *product, const char *version)
Configure a product and version.
void nrt_client_config_set_endpoint_traces(nrt_client_config_t *config, const char *host, uint16_t port)
Configure the ingest host for traces.
void nrt_client_config_set_queue_max(nrt_client_config_t *config, size_t queue_max)
Configure the maximum of batches sent in one go.
void nrt_client_config_destroy(nrt_client_config_t **config)
Destroy a client configuration.
Generated on Wed Sep 16 2020 23:07:29 for New Relic C Telemetry SDK by
