gRPC Reference
CausalGraphService
GetCausalGraph
Returns the full causal graph for a transaction.
rpc GetCausalGraph(GetCausalGraphRequest) returns (CausalGraph);
message GetCausalGraphRequest {
string transaction_id = 1;
int64 from_timestamp_ns = 2;
int64 to_timestamp_ns = 3;
}
message CausalGraph {
string transaction_id = 1;
repeated Node nodes = 2;
repeated Edge edges = 3;
string root_cause_id = 4;
int64 total_latency_ns = 5;
}
GetRootCause
Returns only the root cause node for a transaction without the full graph.
rpc GetRootCause(GetRootCauseRequest) returns (Node);
message GetRootCauseRequest {
string transaction_id = 1;
}
StreamCausalUpdates
Streams causal graph updates in real time as new events arrive.
rpc StreamCausalUpdates(StreamRequest) returns (stream CausalUpdate);
message StreamRequest {
repeated string services = 1;
}
message CausalUpdate {
string update_type = 1;
Node node = 2;
Edge edge = 3;
}
TimelineService
GetTimeline
Returns all events for a transaction in time order.
rpc GetTimeline(GetTimelineRequest) returns (Timeline);
message GetTimelineRequest {
string transaction_id = 1;
int64 from_timestamp_ns = 2;
int64 to_timestamp_ns = 3;
repeated string event_types = 4;
}
message Timeline {
string transaction_id = 1;
repeated Event events = 2;
int64 span_ns = 3;
}
StreamEvents
Streams live kernel events matching a filter.
rpc StreamEvents(StreamEventsRequest) returns (stream Event);
message StreamEventsRequest {
repeated string event_types = 1;
repeated string services = 2;
repeated int32 pids = 3;
}
ReplayService
CreateSession
Creates a new replay session for a transaction.
rpc CreateSession(CreateSessionRequest) returns (ReplaySession);
message CreateSessionRequest {
string transaction_id = 1;
repeated Injection injections = 2;
}
message Injection {
string injection_type = 1;
string target = 2;
int64 value_ns = 3;
string syscall = 4;
int32 error_code = 5;
}
message ReplaySession {
string session_id = 1;
string status = 2;
int64 created_at_ns = 3;
}
StartReplay
Starts a created replay session.
rpc StartReplay(StartReplayRequest) returns (stream ReplayEvent);
message StartReplayRequest {
string session_id = 1;
float speed = 2;
}
message ReplayEvent {
string event_type = 1;
Event event = 2;
string status = 3;
}
StopReplay
Stops a running replay session.
rpc StopReplay(StopReplayRequest) returns (ReplaySession);
message StopReplayRequest {
string session_id = 1;
}
Common types
message Node {
string node_id = 1;
string event_type = 2;
int64 timestamp_ns = 3;
int32 pid = 4;
int32 cpu = 5;
int64 duration_ns = 6;
string service = 7;
string transaction_id = 8;
bool is_root_cause = 9;
int64 latency_contribution_ns = 10;
}
message Edge {
string source_id = 1;
string destination_id = 2;
string relationship = 3;
int64 latency_contribution_ns = 4;
}
message Event {
string event_id = 1;
string event_type = 2;
int64 timestamp_ns = 3;
int32 pid = 4;
int32 tid = 5;
int32 cpu = 6;
int64 duration_ns = 7;
string service = 8;
string transaction_id = 9;
map<string, string> metadata = 10;
}