metrics.go 871 B

1234567891011121314151617181920212223242526272829
  1. package openai_ws_v2
  2. import (
  3. "sync/atomic"
  4. )
  5. // MetricsSnapshot 是 OpenAI WS v2 passthrough 路径的轻量运行时指标快照。
  6. type MetricsSnapshot struct {
  7. SemanticMutationTotal int64 `json:"semantic_mutation_total"`
  8. UsageParseFailureTotal int64 `json:"usage_parse_failure_total"`
  9. }
  10. var (
  11. // passthrough 路径默认不会做语义改写,该计数通常应保持为 0(保留用于未来防御性校验)。
  12. passthroughSemanticMutationTotal atomic.Int64
  13. passthroughUsageParseFailureTotal atomic.Int64
  14. )
  15. func recordUsageParseFailure() {
  16. passthroughUsageParseFailureTotal.Add(1)
  17. }
  18. // SnapshotMetrics 返回当前 passthrough 指标快照。
  19. func SnapshotMetrics() MetricsSnapshot {
  20. return MetricsSnapshot{
  21. SemanticMutationTotal: passthroughSemanticMutationTotal.Load(),
  22. UsageParseFailureTotal: passthroughUsageParseFailureTotal.Load(),
  23. }
  24. }