51 lines
1.4 KiB
C
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
|