func NewMetricsBuilder()

in components/otelopscol/receiver/varnishreceiver/internal/metadata/generated_metrics.go [844:875]


func NewMetricsBuilder(mbc MetricsBuilderConfig, settings receiver.Settings, options ...MetricBuilderOption) *MetricsBuilder {
	mb := &MetricsBuilder{
		config:                               mbc,
		startTime:                            pcommon.NewTimestampFromTime(time.Now()),
		metricsBuffer:                        pmetric.NewMetrics(),
		buildInfo:                            settings.BuildInfo,
		metricVarnishBackendConnectionCount:  newMetricVarnishBackendConnectionCount(mbc.Metrics.VarnishBackendConnectionCount),
		metricVarnishBackendRequestCount:     newMetricVarnishBackendRequestCount(mbc.Metrics.VarnishBackendRequestCount),
		metricVarnishCacheOperationCount:     newMetricVarnishCacheOperationCount(mbc.Metrics.VarnishCacheOperationCount),
		metricVarnishClientRequestCount:      newMetricVarnishClientRequestCount(mbc.Metrics.VarnishClientRequestCount),
		metricVarnishClientRequestErrorCount: newMetricVarnishClientRequestErrorCount(mbc.Metrics.VarnishClientRequestErrorCount),
		metricVarnishObjectCount:             newMetricVarnishObjectCount(mbc.Metrics.VarnishObjectCount),
		metricVarnishObjectExpired:           newMetricVarnishObjectExpired(mbc.Metrics.VarnishObjectExpired),
		metricVarnishObjectMoved:             newMetricVarnishObjectMoved(mbc.Metrics.VarnishObjectMoved),
		metricVarnishObjectNuked:             newMetricVarnishObjectNuked(mbc.Metrics.VarnishObjectNuked),
		metricVarnishSessionCount:            newMetricVarnishSessionCount(mbc.Metrics.VarnishSessionCount),
		metricVarnishThreadOperationCount:    newMetricVarnishThreadOperationCount(mbc.Metrics.VarnishThreadOperationCount),
		resourceAttributeIncludeFilter:       make(map[string]filter.Filter),
		resourceAttributeExcludeFilter:       make(map[string]filter.Filter),
	}
	if mbc.ResourceAttributes.VarnishCacheName.MetricsInclude != nil {
		mb.resourceAttributeIncludeFilter["varnish.cache.name"] = filter.CreateFilter(mbc.ResourceAttributes.VarnishCacheName.MetricsInclude)
	}
	if mbc.ResourceAttributes.VarnishCacheName.MetricsExclude != nil {
		mb.resourceAttributeExcludeFilter["varnish.cache.name"] = filter.CreateFilter(mbc.ResourceAttributes.VarnishCacheName.MetricsExclude)
	}

	for _, op := range options {
		op.apply(mb)
	}
	return mb
}