92
prometheusServer *http.Server,
93
clientConfig *ClientConfig,
95
>
var views []sdkmetrics.View
96
>
for _, u := range []string{Dimensionless, Bytes, Milliseconds, Seconds} {
97
>
views = append(views, sdkmetrics.NewView(
98
>
sdkmetrics.Instrument{
99
>
Kind: sdkmetrics.InstrumentKindHistogram,
100
>
Unit: u,
101
>
},
102
>
sdkmetrics.Stream{
103
>
Aggregation: sdkmetrics.AggregationExplicitBucketHistogram{
104
>
Boundaries: clientConfig.PerUnitHistogramBoundaries[u],
105
>
},
106
>
},
107
>
))
108
>
}
109
>
provider := sdkmetrics.NewMeterProvider(
110
>
sdkmetrics.WithReader(reader),
111
>
sdkmetrics.WithView(views...),
112
>
)
113
>
meter := provider.Meter("temporal")
114
>
reporter := &openTelemetryProviderImpl{
115
>
meter: meter,
116
>
config: prometheusConfig,
117
>
server: prometheusServer,
118
>
statsdExporter: statsdExporter,
119
>
}
120
>
121
>
return reporter, nil
122
}
123