func registerOtelMetric()

in pkg/filter/metric/metric.go [172:218]


func registerOtelMetric() error {
	meter := global.MeterProvider().Meter("pixiu")

	elapsedCounter, err := meter.SyncInt64().Counter("pixiu_request_elapsed", instrument.WithDescription("request total elapsed in pixiu"))
	if err != nil {
		logger.Errorf("register pixiu_request_elapsed metric failed, err: %v", err)
		return err
	}
	totalElapsed = elapsedCounter

	count, err := meter.SyncInt64().Counter("pixiu_request_count", instrument.WithDescription("request total count in pixiu"))
	if err != nil {
		logger.Errorf("register pixiu_request_count metric failed, err: %v", err)
		return err
	}
	totalCount = count

	errorCounter, err := meter.SyncInt64().Counter("pixiu_request_error_count", instrument.WithDescription("request error total count in pixiu"))
	if err != nil {
		logger.Errorf("register pixiu_request_error_count metric failed, err: %v", err)
		return err
	}
	totalError = errorCounter

	sizeRequest, err = meter.SyncInt64().Counter("pixiu_request_content_length", instrument.WithDescription("request total content length in pixiu"))
	if err != nil {
		logger.Errorf("register pixiu_request_content_length metric failed, err: %v", err)
		return err
	}

	sizeResponse, err = meter.SyncInt64().Counter("pixiu_response_content_length", instrument.WithDescription("request total content length response in pixiu"))
	if err != nil {
		logger.Errorf("register pixiu_response_content_length metric failed, err: %v", err)
		return err
	}

	durationHist, err = meter.SyncInt64().Histogram(
		"pixiu_process_time_millicec",
		instrument.WithDescription("request process time response in pixiu"),
	)
	if err != nil {
		logger.Errorf("register pixiu_process_time_millisec metric failed, err: %v", err)
		return err
	}

	return nil
}