configuration.c
/*
* Copyright 2020 New Relic Corporation. All rights reserved.
* SPDX-License-Identifier: Apache-2.0
*/
#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;
/* Initialize a configuration use all options. */
cfg = nrt_client_config_new(api_key);
assert(cfg);
nrt_client_config_set_endpoint_traces(cfg, "localhost", 31339);
nrt_client_config_set_product_info(cfg, "Example", "1.0");
assert(NULL == cfg);
/* Call with NULL values. */
}
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.