101 #define CENSUS_MAX_TAG_KV_LEN 255
103 #define CENSUS_MAX_PROPAGATED_TAGS 255
106 #define CENSUS_TAG_PROPAGATE 1
107 #define CENSUS_TAG_STATS 2
108 #define CENSUS_TAG_RESERVED 4
112 #define CENSUS_TAG_IS_PROPAGATED(flags) (flags & CENSUS_TAG_PROPAGATE)
113 #define CENSUS_TAG_IS_STATS(flags) (flags & CENSUS_TAG_STATS)
194 char *buffer,
size_t buf_size);
274 const char *(*get_rpc_service_name)(int64_t id);
275 const char *(*get_rpc_method_name)(int64_t id);
342 const char *buffer, int64_t rpc_name_id,
372 const char *family,
const char *name,
386 #define CENSUS_TRACE_RECORD_START_OP ((uint32_t)0)
387 #define CENSUS_TRACE_RECORD_END_OP ((uint32_t)1)
397 const char *buffer,
size_t n);
460 size_t resource_pb_size);
int n_modified_tags
Definition: census.h:122
CENSUSAPI int census_enabled(void)
Return the census features currently enabled.
int n_propagated_tags
Definition: census.h:118
CENSUSAPI census_context * census_start_server_rpc_op(const char *buffer, int64_t rpc_name_id, const census_rpc_name_info *rpc_name_info, const char *peer, int trace_mask, census_timestamp *start_time)
Start a server RPC operation.
double value
Definition: census.h:473
int32_t resource_id
Definition: census.h:472
CENSUSAPI const census_context_status * census_context_get_status(const census_context *context)
int n_added_tags
Definition: census.h:121
CENSUSAPI int census_context_get_tag(const census_context *context, const char *key, census_tag *tag)
CENSUSAPI int census_trace_mask(const census_context *context)
Get the current trace mask associated with this context.
CENSUSAPI void census_record_values(census_context *context, census_value *values, size_t nvalues)
int n_deleted_tags
Definition: census.h:120
int n_invalid_tags
Definition: census.h:123
Trace record.
Definition: census.h:400
CENSUSAPI void census_trace_print(census_context *context, uint32_t type, const char *buffer, size_t n)
Insert a trace record into the trace stream.
census_trace_mask_values
Definition: census.h:202
uint8_t flags
Definition: census.h:97
Represent functions to map RPC name ID to service/method names.
Definition: census.h:273
uint64_t op_id
Definition: census.h:403
CENSUSAPI census_context * census_context_create(const census_context *base, const census_tag *tags, int ntags, census_context_status const **status)
CENSUSAPI census_context * census_start_op(census_context *context, const char *family, const char *name, int trace_mask)
Start a new, non-RPC operation.
CENSUSAPI int census_trace_scan_start(int consume)
Start a scan of existing trace records.
int n_local_tags
Definition: census.h:119
int n_ignored_tags
Definition: census.h:125
CENSUSAPI void census_shutdown(void)
CENSUSAPI void census_trace_scan_end()
End a scan previously started by census_trace_scan_start()
char * kvm
Definition: census.h:166
CENSUSAPI void census_context_destroy(census_context *context)
CENSUSAPI size_t census_context_encode(const census_context *context, char *buffer, size_t buf_size)
census_timestamp timestamp
Definition: census.h:401
gpr_timespec ts
Definition: census.h:243
uint32_t type
Definition: census.h:404
int base
Definition: census.h:164
This structure represents a timestamp as used by census to record the time at which an operation begi...
Definition: census.h:240
CENSUSAPI census_context * census_context_decode(const char *buffer, size_t size)
CENSUSAPI int census_context_next_tag(census_context_iterator *iterator, census_tag *tag)
CENSUSAPI void census_delete_resource(int32_t resource_id)
const census_context * context
Definition: census.h:163
CENSUSAPI int census_supported(void)
Return the features supported by the current census implementation (not all features will be availabl...
CENSUSAPI int32_t census_resource_id(const char *name)
CENSUSAPI int census_get_trace_record(census_trace_record *trace_record)
Get a trace record.
const char * key
Definition: census.h:95
CENSUSAPI void census_end_op(census_context *context, int status)
End an operation started by any of the census_start_*_op*() calls.
CENSUSAPI int census_initialize(int features)
Shutdown and startup census subsystem.
CENSUSAPI void census_set_trace_mask(int trace_mask)
Set the trace mask associated with a context.
uint64_t trace_id
Definition: census.h:402
census_features
Definition: census.h:48
CENSUSAPI void census_set_rpc_client_peer(census_context *context, const char *peer)
Add peer information to a context representing a client RPC operation.
CENSUSAPI int32_t census_define_resource(const uint8_t *resource_pb, size_t resource_pb_size)
Definition: gpr_types.h:63
const char * value
Definition: census.h:96
CENSUSAPI void census_context_initialize_iterator(const census_context *context, census_context_iterator *iterator)
const char * buffer
Definition: census.h:405
size_t buf_size
Definition: census.h:406
CENSUSAPI census_context * census_start_client_rpc_op(const census_context *context, int64_t rpc_name_id, const census_rpc_name_info *rpc_name_info, const char *peer, int trace_mask, const census_timestamp *start_time)
Start a client rpc operation.
int index
Definition: census.h:165
CENSUSAPI census_timestamp census_start_rpc_op_timestamp(void)
Mark the beginning of an RPC operation.
struct census_context census_context
A Census Context is a handle used by Census to represent the current tracing and stats collection inf...
Definition: census.h:83