census-ecosystem / opencensus-go-exporter-stackdriver

OpenCensus Go exporter for Stackdriver Monitoring and Trace
Apache License 2.0
67 stars 79 forks source link

GetMetricDisplayName option does not work #318

Open kaoet opened 1 year ago

kaoet commented 1 year ago

Please answer these questions before submitting a bug report.

What version of the Exporter are you using?

v0.13.4

What version of OpenCensus are you using?

v0.23.0

What version of Go are you using?

1.21

What did you do?

If possible, provide a recipe for reproducing the error.

I created a exporter with custom GetMetricDisplayName option:

exporter, err := stackdriver.NewExporter(stackdriver.Options{
    MetricPrefix: "custom.googleapis.com/myapp/",
    GetMetricDisplayName: func(view *view.View) string {
        return path.Join("My App", view.Name)
    },
})

What did you expect to see?

I want the display name of the metric displayed in Cloud Monitoring to be My App/my_metric.

What did you see instead?

The display name is still OpenCensus/my_metric.

Additional context

Add any other context about the problem here.

I found there are two places a MetricDescriptor was built.

As you can see in the first place, GetMetricDisplayName was not used, and it directly constructs the display name with the default display name prefix. But in the second place, GetMetricDisplayName was used if it's not nil.

I suspect that's the reason it's not working.

dashpole commented 1 year ago

Sorry for the slow response. That does look like a bug. Feel free to open a PR with a fix, and we can get it merged.