gpt4 book ai didi

go - Stackdriver 上未显示自定义 OpenCensus 指标

转载 作者:数据小太阳 更新时间:2023-10-29 03:18:56 25 4
gpt4 key购买 nike

我正在尝试使用 OpenCensus 从我的 Go 应用程序向 Stackdriver 发送自定义指标。

我关注了 guide ,因此设置了 View 和导出器:

import (
"context"
"contrib.go.opencensus.io/exporter/stackdriver"
"github.com/pkg/errors"
"go.opencensus.io/stats"
"go.opencensus.io/stats/view"
"time"
)

var (
apiRequestDurationMs = stats.Int64("api_request_duration", "API request duration in milliseconds", stats.UnitMilliseconds)
)

func NewMetricsExporter() (*stackdriver.Exporter, error) {
v := &view.View{
Name: "api_request_durations",
Measure: apiRequestDurationMs,
Description: "The distribution of request durations",
Aggregation: view.Distribution(0, 100, 200, 400, 1000, 2000, 4000),
}
if registerError := view.Register(v); registerError != nil {
return nil, errors.Wrapf(registerError, "failed to register request duration view")
}

exporter, exporterError := stackdriver.NewExporter(stackdriver.Options{ProjectID: "project-ID"})
if exporterError != nil {
return nil, errors.Wrapf(exporterError, "failed to create stackdriver exporter")
}

if startError := exporter.StartMetricsExporter(); startError != nil {
return nil, errors.Wrapf(startError, "failed to create stackdriver exporter")

}
return exporter, nil
}

然后我使用以下方式发送我的指标:

func RequestDuration(d time.Duration) {
stats.Record(context.Background(), apiRequestDurationMs.M(int64(d)))
}

但是我发送的自定义指标没有出现在 Stackdriver 的 Metrics Explorer 中。

我错过了什么?

最佳答案

问题出在用户指南中。事实上,您必须注册导出商并设置报告间隔:

view.RegisterExporter(exporter)
view.SetReportingPeriod(60 * time.Second)

关于go - Stackdriver 上未显示自定义 OpenCensus 指标,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56937653/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com