feat(loadtest): sync add real 500-session capacity harness
This commit is contained in:
parent
ac0566f779
commit
141f2f20c4
39 changed files with 4157 additions and 42 deletions
|
|
@ -2,8 +2,8 @@ package mtprotoedge
|
|||
|
||||
import "time"
|
||||
|
||||
// Metrics 接收连接层运行指标。实现可对接 Prometheus 等监控系统;
|
||||
// 默认 NopMetrics(零开销)。第一阶段仅预留钩子,正式指标后续接入。
|
||||
// Metrics 接收连接层运行指标。生产入口接入有界 Prometheus exporter;
|
||||
// 其它 embedder 可继续使用 NopMetrics(零开销)。
|
||||
type Metrics interface {
|
||||
// ConnOpened 在接受一个连接时调用。
|
||||
ConnOpened()
|
||||
|
|
@ -39,6 +39,14 @@ type RPCResultMetrics interface {
|
|||
RPCResultDelivered(method string, egressLatency time.Duration, wireBytes int, err error)
|
||||
}
|
||||
|
||||
// LogicalOutboxMetrics observes the sole owner of unacknowledged server frames.
|
||||
// It is intentionally optional: embedders can keep the small Metrics surface,
|
||||
// while production capacity tests can distinguish physical delivery from the
|
||||
// later client ACK that actually releases retained bytes.
|
||||
type LogicalOutboxMetrics interface {
|
||||
LogicalOutboxAcknowledged(bytes int, retainedFor time.Duration, rpcResult bool)
|
||||
}
|
||||
|
||||
// ConnectionIntakeMetrics is an optional extension for the pre-session
|
||||
// connection pipeline. stage is one of raw_accept, mux_sniff, mux_delivery,
|
||||
// transport_dispatch, transport_promote, or first_frame; outcome is a bounded
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue