Documentation
¶
Index ¶
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type Event ¶
type Event struct {
Time time.Time
Proto string
Scheme string
Host string
Method string
Path string
Query string
Status int
ReqHdrNames []string
ResHdrNames []string
BodyShape struct {
Kind string
JSON map[string]string `json:",omitempty"`
Size int64
}
WSFrames []FrameShape `json:",omitempty"`
GRPC struct {
Package string
Service string
Method string
Decoded bool
ClientStream bool
ServerStream bool
ReqSchema *Schema
ResSchema *Schema
}
GraphQL struct {
Operation string `json:"operation,omitempty"`
}
DurationMs int64
ConnID string
TraceID string
Redactions []string
// Hashed contains deterministic (SHA-256 hex, truncated) hashes of sensitive fields when hashing is configured.
Hashed map[string]string `json:"hashed,omitempty"`
}
Event is the core captured-traffic record produced by the proxy and consumed by the recorder, exporters, and inference pipeline: one HTTP/WebSocket/gRPC/GraphQL transaction described structurally rather than with raw payloads. Header values are never captured, only names (ReqHdrNames/ResHdrNames); BodyShape/WSFrames/GRPC.ReqSchema/ResSchema record inferred structure (types, not values); Redactions lists which fields/headers were redacted, and Hashed carries deterministic truncated SHA-256 hashes for fields configured for hashing instead of full capture.
type FrameShape ¶
type FrameShape struct {
Kind string `json:"Kind"`
JSON map[string]string `json:"JSON,omitempty"`
Size int64 `json:"Size,omitempty"`
}
FrameShape captures the structure-only shape of a single WebSocket frame: Kind identifies the frame's payload kind (e.g. "json" for a decoded JSON text frame), JSON maps each observed top-level field name to its inferred type (never the raw value), and Size is the frame's byte size. A frame whose kind isn't recognized as structured JSON carries only Kind and Size.
type Schema ¶
type Schema struct {
Type string `json:"type,omitempty"`
Format string `json:"format,omitempty"`
Props map[string]*Schema `json:"properties,omitempty"`
Items *Schema `json:"items,omitempty"`
}
Schema is a minimal, JSON-Schema-like structural description used across the exporters (OpenAPI/gRPC/WS) to describe an inferred request/response shape without carrying any actual field values: Type and Format follow JSON Schema's primitive vocabulary (e.g. "string"/"uuid"), Props holds named object properties, and Items describes an array's element schema.