0

当使用带有 Istio 1.12 和 proxy-wasm-go-sdk 的 WasmPlugin 时,似乎 stdlib-functionstime.Now()不可用,我还没有找到替代方案。但是,有GetProperty()函数,它允许访问一些请求属性,例如request.time.

所以我最终得到了类似的东西

requestStart, err := proxywasm.GetProperty([]string{"request", "time"})

proxywasm.LogInfof("len %v", len(requestStart))
requestStartTs := binary.LittleEndian.Uint64(requestStart)
proxywasm.LogInfof("request.start %v", requestStartTs)

它打印

2022-02-15T17:48:18.806485Z info    envoy wasm  wasm log redacted: len 8
2022-02-15T17:48:18.806516Z info    envoy wasm  wasm log redacted: request.start 1644947298806002000

现在这似乎是给定时间的 Unix 时间戳,但我完全不确定我是否做对了。

是否有一种较低级别的方法来获取当前时间戳?

4

1 回答 1

1

时间库应该可用。您是否将其导入到您的 go 文件中?示例:https ://github.com/tetratelabs/proxy-wasm-go-sdk/blob/main/examples/helloworld/main.go

于 2022-02-16T16:41:21.037 回答