GRPC Core
4.0.0
|
The concept of "operation" is a fundamental concept for Census. More...
#include <census.h>
Data Fields | |
gpr_timespec | ts |
Use gpr_timespec for default implementation. More... | |
The concept of "operation" is a fundamental concept for Census.
In an RPC system, an operation typically represents a single RPC, or a significant sub-part thereof (e.g. a single logical "read" RPC to a distributed storage system might do several other actions in parallel, from looking up metadata indices to making requests of other services - each of these could be a sub-operation with the larger RPC operation). Census uses operations for the following:
CPU accounting: If enabled, census will measure the thread CPU time consumed between operation start and end times.
Active operations: Census will maintain information on all currently active operations.
Distributed tracing: Each operation serves as a logical trace span.
Stats collection: Stats are broken down by operation (e.g. latency breakdown for each unique RPC path).
The following functions serve to delineate the start and stop points for each logical operation. This structure represents a timestamp as used by census to record the time at which an operation begins.
gpr_timespec census_timestamp::ts |
Use gpr_timespec for default implementation.
High performance implementations should use a cycle-counter based timestamp.