class

KemalWAF::RequestTrace

Inherits Reference / Object

============================================================================= Request Trace

Holds timing information for a single request Uses nanosecond precision timestamps

Constructors

new(request_id : String = UUID.random.to_s)
Source

Instance methods

add_metadata(key : String, value : String)

Add metadata

Source
backend_duration_ms
Source
backend_duration_ns

Backend latency

Source
created_at
Source
duration_ms(from : TracePoint, to : TracePoint) : Float64 | Nil

Calculate duration in milliseconds

Source
duration_ns(from : TracePoint, to : TracePoint) : Int64 | Nil

Calculate duration between two points (in nanoseconds)

Source
duration_us(from : TracePoint, to : TracePoint) : Float64 | Nil

Calculate duration in microseconds

Source
gc_duration_ns

GC duration (should be 0 in ideal case)

Source
metadata(key : String) : String | Nil

Get metadata

Source
record(point : TracePoint, timestamp_ns : Int64)

Record with custom timestamp

Source
record(point : TracePoint)

Record a trace point

Source
request_id
Source
response_duration_ns

Response write duration

Source
response_duration_us
Source
timestamp(point : TracePoint) : Int64 | Nil

Get timestamp for a trace point (returns nil if not recorded)

Source
to_json
Source
to_json_object
Source
to_log_string

Format for logging

Source
total_duration_ms
Source
total_duration_ns

Total request duration

Source
waf_duration_ns

WAF evaluation duration

Source
waf_duration_us
Source