kicad/thirdparty/sentry-native/src/sentry_tracing.h

51 lines
1.4 KiB
C

#ifndef SENTRY_TRACING_H_INCLUDED
#define SENTRY_TRACING_H_INCLUDED
#include "sentry_value.h"
/**
* A span.
*/
typedef struct sentry_span_s {
sentry_value_t inner;
// The transaction the span is contained in.
sentry_transaction_t *transaction;
} sentry_span_t;
/**
* A transaction context.
*/
typedef struct sentry_transaction_context_s {
sentry_value_t inner;
} sentry_transaction_context_t;
/**
* A transaction.
*/
typedef struct sentry_transaction_s {
sentry_value_t inner;
} sentry_transaction_t;
void sentry__transaction_context_free(sentry_transaction_context_t *tx_cxt);
sentry_transaction_t *sentry__transaction_new(sentry_value_t inner);
void sentry__transaction_incref(sentry_transaction_t *tx);
void sentry__transaction_decref(sentry_transaction_t *tx);
void sentry__span_incref(sentry_span_t *span);
void sentry__span_decref(sentry_span_t *span);
sentry_value_t sentry__value_span_new(size_t max_spans, sentry_value_t parent,
char *operation, char *description);
sentry_span_t *sentry__span_new(
sentry_transaction_t *parent_tx, sentry_value_t inner);
/**
* Returns an object containing tracing information extracted from a
* transaction / span which should be included in an event.
* See https://develop.sentry.dev/sdk/event-payloads/transaction/#examples
*/
sentry_value_t sentry__value_get_trace_context(sentry_value_t span);
#endif