Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
11 changes: 11 additions & 0 deletions filter/envoy/envoy-wasm-filters/src/lib.rs
Original file line number Diff line number Diff line change
Expand Up @@ -55,6 +55,7 @@ struct Reqquest {
struct Ressponse {
headers: HashMap<String, String>,
body: String,
backend_latency_in_nanos: u64,
}

const MAX_BODY_SIZE: usize = 1_000_000; // 1 MB
Expand Down Expand Up @@ -213,6 +214,16 @@ impl HttpContext for Plugin {
if !body.is_empty() && body.len() <= MAX_BODY_SIZE {
self.api_event.response.body = body;
}

if let Some(value) = self.get_property(vec!["response", "backend_latency"]) {
// Ensure the byte vector has at least 8 bytes for u64
if value.len() >= 8 {
// Convert the first 8 bytes to an u64 (nanoseconds)
self.api_event.response.backend_latency_in_nanos =
u64::from_ne_bytes(value[..8].try_into().unwrap_or_default());
}
}

Action::Continue
}
}
Expand Down
308 changes: 155 additions & 153 deletions protobuf/golang/sentryflow.pb.go

Large diffs are not rendered by default.

2 changes: 1 addition & 1 deletion protobuf/golang/sentryflow_grpc.pb.go

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

30 changes: 14 additions & 16 deletions protobuf/golang/sentryflow_metrics.pb.go

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

2 changes: 1 addition & 1 deletion protobuf/golang/sentryflow_metrics_grpc.pb.go

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

6 changes: 3 additions & 3 deletions protobuf/python/sentryflow_metrics_pb2.py

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

44 changes: 22 additions & 22 deletions protobuf/python/sentryflow_pb2.py

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

6 changes: 4 additions & 2 deletions protobuf/python/sentryflow_pb2.pyi
Original file line number Diff line number Diff line change
Expand Up @@ -129,7 +129,7 @@ class Request(_message.Message):
def __init__(self, headers: _Optional[_Mapping[str, str]] = ..., body: _Optional[str] = ...) -> None: ...

class Response(_message.Message):
__slots__ = ("headers", "body")
__slots__ = ("headers", "body", "backend_latency_in_nanos")
class HeadersEntry(_message.Message):
__slots__ = ("key", "value")
KEY_FIELD_NUMBER: _ClassVar[int]
Expand All @@ -139,9 +139,11 @@ class Response(_message.Message):
def __init__(self, key: _Optional[str] = ..., value: _Optional[str] = ...) -> None: ...
HEADERS_FIELD_NUMBER: _ClassVar[int]
BODY_FIELD_NUMBER: _ClassVar[int]
BACKEND_LATENCY_IN_NANOS_FIELD_NUMBER: _ClassVar[int]
headers: _containers.ScalarMap[str, str]
body: str
def __init__(self, headers: _Optional[_Mapping[str, str]] = ..., body: _Optional[str] = ...) -> None: ...
backend_latency_in_nanos: int
def __init__(self, headers: _Optional[_Mapping[str, str]] = ..., body: _Optional[str] = ..., backend_latency_in_nanos: _Optional[int] = ...) -> None: ...

class APIMetrics(_message.Message):
__slots__ = ("perAPICounts",)
Expand Down
1 change: 1 addition & 0 deletions protobuf/sentryflow.proto
Original file line number Diff line number Diff line change
Expand Up @@ -92,6 +92,7 @@ message Request {
message Response {
map<string, string> headers = 1;
string body = 2;
uint64 backend_latency_in_nanos = 3;
}

message APIMetrics {
Expand Down
Loading